tr_research.tar.gz
本篇文章帮助你理解如下几个问题:
1. 翻译过程是如何进行的?
2. 翻译的上下文是指的什么?
3. 如何使用QT_TR_NOOP, QT_TRANSLATE_NOOP
4. QObject::tr() 是如何工作的.
5. lupdate 工具是如何工作的.
6. 如何提取宏定义中的字符串? 也就是说宏定义中字符串如何支持国际化?
7. 类中字符串如何支持国际化.
8. 全局变量引用字符串如何支持国际化.
详细请阅读readme.txt 和把玩代码.
http 协议分析代码实例
http 1.1 协议分析代码, linux 下编译,代码紧凑,very good!
JSON 字符串与C 结构变量互转实例
linux c 下 json 字符串与 c 结构的相互转换, 开源软件,很有参考价值。
vim73-gdb 工具
最新版vim version 73
gdb
vim 和 gdb 的结合 你懂得
用 tar xvf vim73 gdb tar 解开2个压缩包 再分别解压缩 再看readme
再打补丁 编译
simple encrypt decrypt algrithm
simple encrypt decrypt algrithm use xor to realize
tiny httpd
微型http 服务器, 还实现了cgi 功能
bat 的书写范例
bat 的书写范例, 可以学习不少使用的语法,技能
linux 64位只读文件系统 romfs64
linux 64位只读文件系统
内核 2.6.32, 其它内核可能需要相应调整
扩展:从32位到64位
提高文件读取效率。
优化方式: 文件节点读入内存,采用数组管理,实现对分搜索,hash 搜索
性能不是很完美,仅供参考
uxfs 文件系统移植
uxfs 源代码是linux2.4 内核的, 将它移植到linux2.6.32内核,并做了少量修改。编译,运行良好
build external modules
linux 2.6 内核 kbuild 文档。 讲述编译内核模块 makefile编写事项
老外写得,英文版
windows 版 bochs
bochs 虚拟机 , 可以调试内核。 纯软件模拟dev
ida pro权威指南中文版
著名的ida pro权威指南,
pdf 文档,我给它加了标签
wget for windows/dos
小巧的wget.exe 文件,单一运行文件。仅253 K bytes
wget -h 获取帮助
.net 中间语言 IL 指令集
Common Language Infrastruction partition I to VI
非常详细的IL 中间语言手册。
stardard ECMA-335
英文首册。备查。
windos at 命令详解, ntcmds.chm
读完txt 文档,包你会用at.
另附ntcmds.chm, 可进一步扩充查阅其它windows 命令
javaspript 手册
ecma-262 javascript 手册。
英文原版
能说什么呢? 非常详细,象字典一样
total tftp solution
完整的tftp 工具集,图形界面程序,控制台程序等。
arm instruction set(arm 完整指令集)
arm instruction set(arm 完整指令集)
chm 格式,比pdf 方便查找
c++ 模板使用入门
c++ 模板使用入门
c++ 模板使用介绍
pdf
三十分钟掌握STL.pdf
stl 基础教程。不要相信30分钟能掌握。30分钟有收获就可以了。 pdf 文档并简单增加了标签
离散傅立叶变换DFT及其反变换IDFT c 源代码
离散傅立叶变换DFT及其反变换IDFT c 源代码
非常简洁的代码,有简洁的复数运算代码及DFT,IDFT代码
测试代码实现了从时域到频域变换,再从频域到时域变换. 验证了变换的正确性!
IDA Free8.3 For Linux
是Free 版本, 支持x86, x86_64, 不支持Arm 等
支持反编译成C 语言伪代码, 开放的功能已经非常友好了..
供学习使用还是非常不错的.
linux 下版本, 我喜欢在linux 下操作.
安装:
chmod +x idafree83_linux.run
./idafree83_linux.run
即可.
enjoy!
用SDL2.0显示图片实例代码
建议在linux下编译。
1.演示了如何显示背景图(平铺),前景图(居中)及处理键盘事件(退出)等
将视频存储为一张张jpg 图片源码
利用ffmpeg 来读取视频,解压缩为一个个frame, 再利用ffmpeg 将frame 压缩成jpeg 格式存成图片. 对ffmpeg 的主要调用接口如下:
1. 打开一个文件进行解码的过程:
//初始化
avformat_open_input()
avformat_find_stream_info()
av_find_best_stream()
avcodec_find_decoder()
avcodec_parameters_to_context()
avcodec_open2()
//循环执行
av_read_frame()
avcodec_send_packet()
avcodec_receive_frame()
//结尾
avformat_close_input()
2. 打开一个文件进行编码的过程:
//初始化
av_guess_format()
avio_open();
avformat_new_stream()
avcodec_find_encoder()
avcodec_parameters_to_context()
linux 命名管道创建及使用demo程序
1. 在程序中创建命名管道
在程序中创建命名管道,可以使用 mkfifo 函数,其原型如下:
#include <sys/types.h>
#include <sys/stat.h>
int mkfifo(const char *pathname, mode_t mode);
2. 在程序中使用命名管道
pipe_fd = open(FIFO_NAME, open_mode);
3. 编译:
make
4. 执行:
先在一个终端中执行生产者: ./namedpipe_produce
然后在另一个终端中执行消费者:./namedpipe_consume
结果是二者完成数据传输后都返回了
5. 删除命名管道
删除命名管道和删除一个普通文件没有什么区别:
$ rm /tmp/testp
监视程序的内存使用(linux c 源代码)
当你面对内存泄露的时候, 该程序时刻监视着你程序的内存使用情况. 你甚至可以用gdb 单步执行你的程序,来观察监视程序所报的内存使用量. 如此便能找到是谁(哪个函数?哪行代码)占用了内存.
linux 下的程序, 有源代码, 你可以修改程序成更顺手的工具.
Qt5 信号与槽研究,线程研究
QT5 信号与槽研究
----------------------------------------
一个主窗口给多个工作线程发信号,线程的槽函数是如何工作的?
是并行的还是串行的?
通过研究知道, 它是串行工作的. 而且纵然工作线程没有启动,它也可以工作.
各个槽函数只是signal 依次调用各线程下的槽函数而以.
signal-slot 机制跟线程没有关系,只跟对象有关系.
下面贴上我的研究代码,里面还有其它thread 的相关知识.
例如:线程是并行运行的,如何停止线程和重启线程等.可以参考注释.
OpenSSH for windows (64bits)
1,下载openSSH windows版(注:该版本是64位)
2,解压到C:\Program Files\OpenSSH 不要放在别的路径下,官方这样要求的
3,cmd到openSSH路径下
依次执行
1)安装sshd服务
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
2)开放22号端口(如果你在windows关闭了防火墙并配置了入站规则可以不执行如下命令,多执行不影响)
netsh advfirewall firewall add rule name=sshd dir=in action=allow p
buttonTable.zip
QTableWidget 是qt 提供的表格控件, 这里需要一个按键矩阵, 所以将按键作为一个单元塞到表格中,方便管理. 有一张图片显示了运行效果.
virtualpanel.zip
用qt4 实现的虚拟面版, 上面有几个指示灯,几个按键, 指示灯和按键数量可自己定义, 指示灯可以定义点亮状态为红,绿,蓝, 熄灭固定为灰色.
qt 在控件上绘制图形
qt 在qlabel 上画一个叉, 用来演示如何在qt 控件上绘制图形,只要重写控件的paintEvent 方法即可!很简单.
the-23-gang-of-four-design-patterns-with-cplusplus.tar.gz
c++ 23种设计模式参考代码, 帮助理解23种设计模式
源代码整理自 k_eckel 的《设计模式精解-GoF 23 种设计模式解析附 C++实现源码》
内含CMakelist.txt 文件, 方便linux 下编译运行.
我设定的积分是免费,0积分,代码公开,以后下载会不会要积分就不知道了.
LFS-BOOK-CN.html
首先,你应该知道Linux From Scratch 是干什么的,这篇文档是中文的.
由 Linux 中国 - LCTT - LFS 翻译小组 翻译
无分页,所有文档在一个页面中,方便查找.
还是看中文文档方便操作
calltree-2.3.tar.gz
makefile 用qmake 生成, 去除了测试文件,已修改了代码文件中需要修改的地方.
在ubuntu14 下已经编译通过
Qt 4.8 Timer
qt 下简单的timer 使用 和日期,时间的更新显示
stl-views.gdb
gdb 打印功能扩展
# The following STL containers are currently supported:
#
# std::vector -- via pvector command
# std::list -- via plist or plist_member command
# std::map -- via pmap or pmap_member command
# std::multimap -- via pmap or pmap_member command
# std::set -- via pset command
# std::multiset -- via pset command
# std::deque -- via pdequeue command
# std::stack -- via pstack command
# std::queue -- via pqueue command
# std::priority_queue -- via ppqueue command
# std::bitset -- via pbitset command
# std::string -- via pstring command
# std::widestring -- via pwstring command
gcc 函数调用探测功能
收集一个函数调用的踪迹,一种方法是通过在函数的入口处和出口处插入一个打印语句来检测。这个过程非常繁琐,而且很容易出错,通常需要对源代码进行大量的修改。
幸运的是,GNU 编译器工具链(也称为 gcc)提供了一种自动检测应用程序中的各个函数的方法。
gdbinit-gdb 功能扩展插件
Public repo for gdbinit
x86/x86_64 and ARM are supported simultaneously since version 8.0.
To make ARM the default CPU set the $ARM var to 1 or use the "arm" command to switch.
FEEDBACK: http://reverse.put.as - reverser@put.as
You should read the header of the script for important information regarding some Mac OS X/iOS gdb bugs.
Have fun,
fG!
vim plugin
vim plugin, windows 下工具集合,linux 下 plugin 也可以使用。
webbench 批量web 页请求程序
批量 web 请求
知识点: 客户端程序构建http 请求字符串,
并发请求(用fork完成)。父子进程间信息交换