摘要: typedef struct _node{ char *name; char *desc; struct _node *next; }node; #define HASHSIZE 101 static node* hashtab[HASHSIZE]; 阅读全文
posted @ 2017-10-12 22:43 ailx10 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤: 图:编译过程 <img src="https://pic4.zhimg.com/50/72b693726d70eea37aacbb93d8d40a43_hd.png" data-rawwidth="554" data 阅读全文
posted @ 2017-10-12 22:28 ailx10 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 预处理器:将.c 文件转化成 .i文件,使用的gcc命令是:gcc –E,对应于预处理命令cpp; 编译器:将.c/.h文件转换成.s文件,使用的gcc命令是:gcc –S,对应于编译命令 cc –S; 汇编器:将.s 文件转化成 .o文件,使用的gcc 命令是:gcc –c,对应于汇编命令是 as 阅读全文
posted @ 2017-10-12 22:24 ailx10 阅读(293) 评论(0) 推荐(0) 编辑
摘要: (1)select,poll实现需要自己不断轮询所有fd集合,直到设备就绪,期间可能要睡眠和唤醒多次交替。而epoll其实也需要调用epoll_wait不断轮询就绪链表,期间也可能多次睡眠和唤醒交替,但是它是设备就绪时,调用回调函数,把就绪fd放入就绪链表中,并唤醒在epoll_wait中进入睡眠的 阅读全文
posted @ 2017-10-12 12:30 ailx10 阅读(164) 评论(0) 推荐(0) 编辑