![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
sunny_fbw
这个作者很懒,什么都没留下…
展开
-
atexit()函数
按照ISO C规定,一个进程可以登记多至32个函数,这些函数将由exit或者从main函数中返回时自动调用。我们称这些函数为终止处理程序,并调用atexit函数来登记这些函数。 函数原型 int atexit(void (*function)(void)) 返回值:若成功,返回0;若错误返回非0; 其中,atexit的参数是一个函数地址,当调用此函数时无需向他传递任何参数,也不期望它原创 2017-05-01 17:31:38 · 909 阅读 · 0 评论 -
I/O复用之poll模型
poll系统调用和select的类似,也是利用轮询文件描述符来寻找就绪者。 函数原型: int poll(struct pollfd *fds,nfds_t nfds,int timeout); fds参数是一个pollfd结构类型的数组,它指定所有我们感兴趣的文件描述符上发生的可读,可写和异常事件。 struct pollfd { int fd原创 2017-07-31 15:58:11 · 244 阅读 · 0 评论 -
I/O复用之select模型
首先谈一谈为什么要引入I/O复用这个概念。当我们必须从两个文件描述符中读取时,我们不能从任一个描述符上进行阻塞读,否则可能会因为被阻塞在一个文件描述符的读操作上而导致另一个描述符即使有数据也无法处理。当然我们也可以通过以下几种方法解决。下面进行简单介绍且指出各个方法的不足。 <1>我们可以通过fork进程的方法,用每个进程处理一个文件的读。但是操作的终止时间也是一个问题。如果子进程先读到EOF,那原创 2017-05-15 22:35:24 · 338 阅读 · 0 评论 -
gdb如何查看内存
GDB查看内存命令(x命令) 可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示:x/nfun、f、u是可选的参数。n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。 f 表示显示的格式,参见上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。 u 表示从当前地址往后请求的字节数,如果不指定的话,GD转载 2017-08-16 16:37:32 · 671 阅读 · 0 评论 -
进程间通讯的几种手段
转载自:http://blog.csdn.net/u014774781/article/details/45485735 进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在转载 2017-09-16 15:28:04 · 263 阅读 · 0 评论