发布时间:2015-06-24 16:03:16
首先我们先看一下C程序的返回值处理情况,我们知道当C函数返回int等小型数据时直接将返回值放入eax寄存器。那当返回大的数据结构又是如何处理呢?看如下一段代码:点击(此处)折叠或打开#include <stdio.h>typedef struct big_thing{.........【阅读全文】
发布时间:2015-06-24 16:03:09
在讨论C++函数参数之前,我们先来看一下C程序是如何调用函数的。如图,为C语言的函数调用记录,C++也类似。当有如下函数:void foo(X x0);如果有如下调用方式:X xx;foo(xx); 编译器(对于C)会将实参xx以“位逐次拷贝”方式复制给形参x0(注:X0即在.........【阅读全文】
发布时间:2015-06-24 16:01:03
首先看程序一,这个程序想要实现的功能是当用户从控制台有任何输入操作时,输出”hello world!”。l 程序一 点击(此处)折叠或打开#include <unistd.h>#include <iostream>#include <sys/epoll.h>.........【阅读全文】
发布时间:2015-06-24 14:36:27
分析了ET和LT的实现方式,那么分析他们的触发方式就容易多了。我们通过实现分析知道LT模式下epoll_wait被唤醒可以通过两种方式(图中红线和蓝线),而ET模式只能通过一种方式(图中红线)。所以ET模式下能被唤醒的情况,LT模式下一定也能被唤醒。我们先来讨论特殊情况(ET模式),再来讨论一般情况(LT模式)。2.1 .........【阅读全文】
发布时间:2015-06-24 14:24:23
注:之前写过两篇关于epoll实现的文章,但是感觉懂得了实现原理并不一定会使用,所以又决定写这一系列文章,希望能够对epoll有比较清楚的认识。是请大家转载务必注明出处,算是对我劳动成果的一点点尊重吧。另外,文中如果有不全面或者不正确的地方还请大家指出。也可以私信或者发邮件:lvyilong316@163.com1. E.........【阅读全文】