
C/C++
文章平均质量分 78
Vinda2012
武汉光电国家实验室
展开
-
程序参数处理-getopt
1、POSIX约定下面是POSIX标准中关于程序名、参数的约定:ü 程序名不宜少于2个字符且不多于9个字符;ü 程序名应只包含小写字母和阿拉伯数字;ü 选项名应该是单字符活单数字,且以短横‘-‘为前綴;ü 多个不需要选项参数的选项,可以合并。(譬如:foo -a -b -c ---->foo -abc)ü 选项与其参数之间用空白符隔开;ü 选项参数不可选。ü 若选项参数有多值,要将其并为一个字串传进来。譬如:myprog -u "arnold,joe,jane"。这种情况下,需要自己解决这些参原创 2010-12-23 10:29:00 · 2730 阅读 · 1 评论 -
pthread_detach
创建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出状态码),所以创建线程者应该调用pthread_join来等待线程运行结束,并可得到线程的退出代码,回收其资源(类似于wait,waitpid) 但是调用pthread_join(pthread_id)后,如果该线程没有运转载 2012-05-03 11:21:10 · 1054 阅读 · 0 评论 -
clock计时方式产生巨大误差的陷阱
调用:clock()功能: 返回处理器调用某个进程或函数所花费的时间。用法: clock_t clock(void);说明:clock_t其实就是long,即长整形。该函数返回值是硬件滴答数,要换算成秒或者毫秒,需要除以CLK_TCK或者 CLK_TCK CLOCKS_PER_SEC。但clock调用在多核情况下会产生巨大误差。原因是clock的实现方式决定了它不适合多核cpu原创 2012-05-02 18:34:28 · 7523 阅读 · 2 评论 -
zz 代码覆盖率浅谈
在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。于是乎,测试人员费尽心思设计案例覆盖代码。用代码覆盖率来衡量,有利也有有弊。本文我们就代码覆盖率展开讨论,也欢迎同学们踊跃评论。首先,让我们先来了解一下所谓的“代码覆盖率”。我找来了所谓的定义:代码覆盖率 = 代码的覆盖程度,一种度量方转载 2012-04-27 18:04:04 · 616 阅读 · 0 评论 -
(转)__FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程)
项目中当文件较多时调试比较麻烦,如果借助设计合理的出错跟踪代码段,调试会方便很多。这也是最近做的项目中用到的东西,在网上找到的这个帖子中“C语言的常用宏定义”总结得挺好,借来做参考。 -------------------------------------------------------------------------------C语言常用宏定义01: 防止一个头文件转载 2011-06-10 10:30:00 · 1120 阅读 · 0 评论 -
linux下遍历目录树方法总结(下)
2、使用ftw调用遍历目录2.1ftw函数族 使用readdir函数等实现递归遍历目录树的方法比较原始,glibc2.1收录了ftw等函数,可以方便实现目录树的遍历。#include int ftw(const char *dirpath, int (*fn) (const char *fpath, const struct stat *sb,int typeflag), int nopenfd);#define _XOPEN_SOURCE 500#原创 2010-12-22 15:48:00 · 4686 阅读 · 0 评论 -
linux下遍历目录树方法总结(上)
前几天需要实现对整个目录树的遍历,查阅了相关的一些资料。开始找到的原始的方法是使用readdir()与lstat()函数实现递归遍历,后来发现linux对于目录遍历这种最常用的操作已经提供了很完善的接口:ftw()与nftw()。下面就这两种方法具体说明一下。1、手动实现递归1.1 stat()函数族stat函数族包括:stat,fstat以及lstat函数,都是向用户返回文件的属性信息(元数据)。 #include int stat(const char*pathname,struct原创 2010-12-22 14:44:00 · 2295 阅读 · 0 评论 -
qsort多线程下core dump分析
Glibc 2.9.93 qsort多线程下core dump分析本文转自:http://www.youalab.com/?p=72Posted on2010/09/19byyouaadmin1 问题:一个C实现的32位多线程服务在启动时core dump. 该服务运行了一年多,而此问题仅出现了一次,是一个比较难复现的问题。 出core的位置在C库的qsort函转载 2012-05-10 11:02:35 · 1820 阅读 · 0 评论