Unix环境高级编程
雪发
这个作者很懒,什么都没留下…
展开
-
标准IO的替代软件
标准I/O库的一个不足之处是效率不高,这与它复制的数据量有关。当使用一次函数fgets和fputs时,通常需要复制两次数据:一次是在内核和标准I/O缓冲之间(当调用read和write时),第二次是在标准I/O缓冲区和用户程序中行缓冲区之间。快速I/O哭被提倡使用,这将大大提高I/O操作的效率。原创 2015-10-20 21:12:12 · 267 阅读 · 0 评论 -
Unix系统的信号机制最简单的接口—signal函数
Unix系统的信号机制最简单的接口—signal函数#include <signal.h>void (*signal(int signo, void (*func)(int)))(int);signal函数由ISO C定义。因为ISO C不涉及多进程、进程组以及终端I/O等,所以他对信号的定义非常含糊,以至于对Unix系统而言几乎毫无用处。从Unix系统V派生的实现支持signal函数,但该函数提原创 2015-10-20 21:43:50 · 385 阅读 · 0 评论 -
sprintf函数可能会造成由buf指向的缓冲区的溢出
曾经在一个项目中遇到这样的执行出错:“stack over flow”,经查与sprintf有关。int sprintf(char *restrict buf, const char *restrict format, ...)调用者在使用sprintf函数有责任确保该缓冲区足够大。snprintf函数可以解决这种缓冲区溢出问题。int snprintf(char *restrict原创 2015-10-20 20:59:43 · 1124 阅读 · 0 评论 -
中断的系统调用
低速系统调用是可能会使进程永远阻塞的一类系统调用原创 2015-10-26 21:22:36 · 282 阅读 · 0 评论