发布时间:2013-01-05 23:46:46
前面写过一篇北极之北之main函数之前,这篇文章其实解决的问题是main函数并不是第一个执行的函数,在main之前,函数的入口点是_start, _start会调用glibc里的__libc_start_main,main函数只是这个函数的入参。 在__libc_start_main中某一步,会执行main函数。这是上面一篇博文获取到的知识。 前两天,CU的gongping11写了一个博文atexit函数和exit函数的理解,这篇博文提到了atexit可以注册退出函数,在main之后,执行注册退出函数。讲的非常的好,我们......【阅读全文】
发布时间:2013-01-05 23:46:40
1. 无符号整型与有符号整型相加解答: 以下代码在vc6.0中执行结果均为-14,但是用cout输出就只是t3是-14了。因为无符号整数与有符号整数相加,有符号数被强制转换为无符号整数,导致变成很大的数了。void main(){ unsigned int t1=6; int t2=-20; int t3=t1+t2; unsigned int t4=t1+t2; pr......【阅读全文】
发布时间:2012-12-14 10:42:23
fork函数 一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被成为子进程(child process)。fork函数被调用一次,但返回两次,两次返回的唯一区别是子进程的返回值是0,而父进程的返回值是新的子进程的进程ID;子进程可以调用getppid以获取其父进程的进程ID。 其中,子进程获得父进程数据空间、堆和栈的副本,但是父、子进程并不共享存储空间部分,而共享正文段。 在fork之后是父进程先执行还是子进程先执行是不确定的,取决于内核所使用的调度算法。如果要求父、子进程之间互相同步,也要求某......【阅读全文】
发布时间:2012-11-30 10:33:41
system函数的返回值可能存在两个概念,一个是函数运行状态,一个是shell运行状态;需要分别进行判断和处理,才能正确得到脚本真实的运行结果。......【阅读全文】