第七章 Unix 进程环境 Unix进程环境 main函数启动 进程终止 exit和_exit 命令行参数 环境表 environ C程序的存储空间布局 共享库 内存分配 环境变量 setjmp和longjmp getrlimit和setrlimit 调用main函数前会调用启动例程,它会负责制定程序起始地址,并读取内核命令行参数和环境变量值 正常终止,exit,_exit,return返回 异常终止,abort,信号终止 _exit直接退出 exit,atexit 正文段,共享,不可改只读 初始化数据段,被初始化的变量 bbs,非初始化数据段,内核会自动赋值为0 栈,自动变量和函数调用所需要的数据信息 堆,被用来动态存储分配 需要存储在磁盘上的只有正文段和数据段 共享库能够减少程序大小,方便升级,但是增加了运行时间开销 malloc,calloc,realloc getenv获取环境变量 函数跳转,voilate 查询和更改资源限制