APUE-第七章-进程环境

1.本篇将学习

*当执行程序时,main函数是如何被调用的;
*命令行参数是如何传送给执行程序的;
*典型的存储器布局是什么样式;
*如何分配另外的存储空间;
*进程如何使用环境变量;
*各种不同的进程终结方式;
*longjmp和setjmp函数以及它们与栈的交互作用;
*进程的资源限制。 

2.main函数

C程序总是从main函数开始执行,main函数的原型是int main(int argc,char *argv[]) ;
其中,argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组。
当内核执行C程序时(使用一个exec函数),在调用main前先调用一个特殊的启动例程.
可执行程序文件将此启动例程指定为程序的起始地址——这是由连接编辑器设置的,而连接编辑
器则由C编译器(通常是cc)调用。启动例程从内核取得命令行参数和环境变量值,然后为按上
述方式调用main函数做好安排。

3.进程终止

上一节提及的启动例程是这样编写的,使得从main返回后立即调用exit函数。
如果将启动例程以C代码形式表示(实际上该例程常常用汇编语言编写),则它
调用main函数的形式可能是:
exit (main(argc, argv));

猜你喜欢

转载自blog.csdn.net/Edidaughter/article/details/121441480
今日推荐