编程技巧
文章平均质量分 54
zhangxiong2532
这个作者很懒,什么都没留下…
展开
-
内核经典数据结构list 剖析
list_head刨析,附测试程序原创 2023-02-16 17:15:20 · 581 阅读 · 2 评论 -
getopt_long 解析命令行参数(--help)
大家可能用到过getopt函数来解析命令行参数,如./a.out -a xx -b xx .....,这些被称为短参数,有时我们在编译一些开源库的时候会见到这样解析命令行参数,如--help ,--DIR /home/test,这些则为长参数,而长参数的解析可以用getopt_long函数,下面我们仔细来说说。头文件:#include函数原型:int getopt_long(int原创 2016-01-15 11:39:09 · 1051 阅读 · 0 评论 -
浅谈进程非正常退出时资源回收相关的函数pthread_cleanup_push/pthread_cleanup_pop
进程非正常退出时资源的回收原创 2016-02-22 12:25:43 · 998 阅读 · 0 评论 -
进程同步,条件变量,pthread_cond_wait,pthread_cond_init,PTHREAD_COND_INITIALIZER
条件量同互斥锁一样也是进程同步的一种机制原创 2016-02-22 14:50:55 · 5329 阅读 · 0 评论 -
socket一个完整的过程中TCP的11中状态
TCP状态图详解转载 2016-02-29 09:57:11 · 670 阅读 · 0 评论 -
C语言日志的实现,用宏实现日志
我们都知道在写代码的时候日志是必不可少的,那么该如何写日志呢,请往下看:以前我是这么写日志的:用fopen,open等创建好文件,然后将write,fwrite封装,这样就可以实现基本的日志。但是这样却又很多弊端,比如写入的日志的行号,所在文件名,函数名等无法写入,这样的日志用着不方面。最近学习了一种新的方法,他能弥补上面所说的不足。下面我们主要通过代码看一下:注:这里我们就不原创 2016-02-24 12:30:30 · 2953 阅读 · 0 评论 -
结构体字节对齐,pragma pack,__attribute__(packed)
程序编译器对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏 蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式。例如我们设置结构体的对齐方式:struct student{int age;char c;};对于以上结构体,默认用sizeof输出大小为8字节,默认的字节对齐方式是4,当然我们也可以设置他的对齐 方式,如下:...原创 2016-03-08 14:46:32 · 15400 阅读 · 2 评论