开源软件
文章平均质量分 80
开源软件
hjjdebug
西方用26个字母表示世界,计算机用0,1两个数字表示世界,大道至简!
人类用6号元素碳来思考, 计算机用14号元素硅来演算,精妙绝伦!
展开
-
tinyxml 代码解读
tinyxml 是开源c++软件, 递归代码的特点: 易写易读难调.原创 2022-11-14 14:39:56 · 537 阅读 · 0 评论 -
modbus_tcp 协议
modbus_tcp 协议github 上有代码.甲. 先解释一条命令, 在此基础上结合代码阅读理解.TEST WRITE/READ:[00][01][00][00][00][06][FF][04][27][10][00][10]Waiting for a confirmation...<00><01><00><00><00><23><FF><04><20><AA><55原创 2020-09-08 15:16:40 · 2218 阅读 · 0 评论 -
lfs 6.3实验笔记
在经历了百般磨难之后,终于厚积薄发,用极短的时间,编译完成了lfs, 有些内容还需要进一步理解,采用环境是emacs ansi-term做远程登陆客户端, 如下作为学习笔记************************************************************lfs 有一个livecd, cd 盘里有了必要的素材。参考文档:1. 官网,http://www....原创 2018-04-26 21:33:27 · 936 阅读 · 1 评论 -
arm-linux-gcc4.4.4编译busybox-1.25.1
arm-linux-gcc4.4.4编译busybox-1.25.1编译出现了一些问题,是因为arm-linux-gcc 比较旧,而busybox 比较新用较新的gcc 应该不会出问题。1. tar -xjvf busybox-1.25.1.tar.bz22. make defconfig3. make menuconfig Busybox Setting ----->原创 2016-12-06 17:29:20 · 2258 阅读 · 0 评论 -
函数调用树生成工具calltree-2.3 使用小记。
----------------------------------------编译calltree-2.3, 解决名字冲突----------------------------------------calltree 自身所带编译晦涩难懂,我弃之不用,改用qmake.inc/ 目录可以猜测是测试文件,从project 中删除。编译有如下错误: 这是新编译环境和代码名字冲原创 2016-01-07 17:44:38 · 4339 阅读 · 1 评论 -
busybox 开始篇
******************************************************** author: hjjdebug*******************************************************1. busybox main 框架。 将许多应用用一个应用管理器来管理。 将应用的名称,应用的入口编成数组1. 修改bus原创 2015-03-30 17:32:28 · 1374 阅读 · 0 评论 -
tslib 代码分析1
------------------------------------------------------------author: hjjdebugdate: 2015年 10月 19日 星期一 17:21:49 CST------------------------------------------------------------tslib 代码分析序言1:ts原创 2015-10-19 17:27:06 · 2032 阅读 · 0 评论 -
基于rs485的modbus 协议
学习了很短的时间(three days),但我从代码的阅读中得到了这些。后来又修订过,并通读了代码, 就不只是3天了!RTU: 是Remote Terminal Unit的缩写目标: 基于rs485的modbus 协议。通讯协议是通讯的两端共同遵守的一些约定。参考代码:libmodbus(从github下载)---------------------------------------...原创 2015-11-09 14:34:30 · 6565 阅读 · 0 评论 -
tslib 代码分析2
------------------------------------------------------------author: hjjdebugdate: 2015年 10月 20日 星期二 09:06:45 CST------------------------------------------------------------分析ts_test.c屏幕上随手划演原创 2015-10-21 17:25:23 · 740 阅读 · 0 评论 -
centos/ubutu x86-64 编译gcc-4.6.2 的经历
centos x86-64 编译gcc-4.6.2 的经历1. 下载了gcc 的源码,是4.6.2 的版本, 本机的为4.4.7, 64bits 机器编译编译经历缺少gmp,mpfr,mpc, 要求高于一定版本。自以为是的下载了高版本的gmp,mpfr,mpc, 随意选了自己喜欢的版本号. 这可能是问题的根源multilib 的问题,忘了具体错误。想到了, --disabl原创 2015-01-15 17:50:14 · 2220 阅读 · 1 评论 -
socket 异步编程(libevent)
********************************************************************************socket 异步编程(libevent)********************************************************************************1. 为什么用异步编程原创 2014-10-17 16:08:15 · 700 阅读 · 0 评论 -
Nginx的HTTP请求处理
Nginx的HTTP请求处理gdb 在main 处暂停后,设置程序断点。b open, 中断后(可能不只一次)打开调用栈查看打开文件的调用栈: bt#0 0x0000003a13c0ef70 in open64 () from /lib64/libpthread.so.0#1 0x0000000000426204 in ngx_open_file_wrapper原创 2014-10-17 16:16:19 · 1229 阅读 · 0 评论 -
coreutil 代码选读:
coreutil 代码选读:真正的读懂程序,也许你需要跨越读懂它们的宏,及其一些框架(支持多国语言)及getopt函数那些东西,只是拦路虎,并不是核心东西,这里从略,为什么要分析,因为你懂得,就理直气壮。所以要懂得多一些。由易到难。核心理解: 应用,源码级。C库以下不做分析----------------------------------------true 程原创 2014-11-17 14:31:41 · 1848 阅读 · 0 评论 -
nginx 模块架构 -- 配置文件的读取和配置过程
nginx 模块架构 -- 配置文件的读取和配置过程 nginx 程序以模块的形式存在。 模块是一个全局结构变量,如下声明一个模块 例如: ngx_module_t abc_module 然后你完成 abc_module 的相应功能。 nginx 在编译时,生成objs/modules.c 文件 里面有一个ngx_module_t 指针数组,叫ngx_module原创 2014-10-13 17:16:19 · 6839 阅读 · 0 评论 -
libevent 的工作模型
///////////////////////////////////////////////////////////////////////////////////////// 办事情必须要实事求是,所以我写了如下程序,并有如下结论:// 事件处理模型是事件和事件处理的一一对应关系。// 事件被登记并挂载在事件树上, 然后由dispatch 函数进行查询。// 对于满足条件的事件原创 2014-07-10 14:56:59 · 3200 阅读 · 1 评论 -
nginx 模块开发入门实例
模块的开发需要一定的代码架构和操作步骤。要符合主体代码要求实例胜千言,所以我准备了这个代码供入门参考。1. 准备模块代码2. 编写配置文件3. 运行./configure 编译nginx 程序4. make & make install5. 运行测试甲: 前言Nginx的模块动态添加,所有的模块都要预先编译进Nginx的二进制可执行文件中。所以要./conf原创 2013-12-30 18:04:22 · 3977 阅读 · 1 评论 -
nginx 工作模型
问题: 对nginx 而言, 一个工作进程,只创建一个工作线程,但可以打开多个文件。用ps -ef -L 可以查看, -L 可显示LWP(light weight process) 和 NLWP(number os light weigh process) 列难道对方用查询方式看结果?还是采用通知?下面是查询的结果, 略加整理。原来linux2.6 内核已经支持一种高效的并发访问。原创 2014-01-13 10:12:23 · 2821 阅读 · 0 评论