- 博客(6)
- 资源 (13)
- 收藏
- 关注
原创 由 tpp.c:63: __pthread_tpp_change_priority failed 引发的思考
早上在测试一个程序的时候,同事发现了我们的程序出现了 tpp.c:63: __pthread_tpp_change_priority failed的错误报告。当时同事查了这方面的资料,发现是线程互斥锁(pthread_mutex_t)的缘故,并假设了出错的原因。关于这个我们还讨论了一阵。自己有些地方想不明白,于是向同事要了一些链接看了看。因为这一段程序是我写的,所以想把自己出错的原因找到。Go
2012-07-30 23:34:58 11307 4
原创 指针,数组,变量参数传递的一点总结
测试代码:#include int add(int sum, unsigned char *p, unsigned char u8Len) { while(u8Len > 0) { sum += *p; p++; u8Len--; } return sum; }
2012-07-27 11:09:14 1496
原创 指针越界(gdb调试)。
昨天在写一段转换函数,遇到需要将一个字符串转换为另一个。在测试时,发现一个内存泄露的问题。函数如下:void Str2Str(void * des, void * src){ unsigned char *pDes = (unsigned char *)des; unsigned char *pSrc = (unsigned char *)src; un
2012-07-23 19:03:56 5139
原创 函数返回值检查的必要性
早上检测昨天留下的内存泄露的bug,程序运行一段时间后总会发生SIGSEGV信号,明显内存访问出错了。由于是多线程,开始时定位出错的原因花费了不少时间。在几个线程中来回查找,开始找到的疑似bug代码的片段,经分析与检测发现并不是真正的原因。直到注释掉一段代码后,SIGSEGV信号没有再出现,感觉错误出现在这个函数中。进入函数分析后,发现错误应该存在于strstr()函数的返回值上,
2012-07-05 19:57:18 2771 2
原创 C语言编程风格
实习了一段时间,对于C语言的书写风格,做一个小总结,为以后写代码做个标杆。1变量定义在定义变量时,前缀使用变量的类型,之后使用表现变量用途的英文单词或单词缩写,且每个单词或缩写的首字母大写,各种前缀缩写如下:无符号变量使用 u8,u16,u32;例:unsigned char u8Temp;有符号变量使用 s8,s16,s32;例:char s8Temp;浮点数变量使用
2012-07-03 17:49:18 4704 5
原创 深入Linux内核架构之进程篇一
好久没有翻书了,还接着上次的进程来吧!Linux内核中涉及进程和程序的最重要的数据结构是定义在include/sched.h中的task_struct里边包含了很多将进程与内核子系统联系起来的成员,其中很多是指向其他数据结构的指针。而Linux提供的资源限制机制,就利用了task_struct中的数据类型为struct rlimit(定义在resource.h中)的rlim数组。各个子系统
2012-07-02 22:33:01 1355
JLink_Windows_V650b-2019.exe.txt
2019-10-11
ZigBee 测试建议书
2019-01-14
pc_lint工具
2014-02-28
pc_lint(Vers. 9.00j)
2014-01-02
gsmmux-alpha-r3.tb2
2012-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人