APUE 进程环境
来源:互联网 发布:淘宝代销怎么退款 编辑:程序博客网 时间:2024/06/05 18:41
进程的基本环境
1、main主函数原型
int main( int argc, char *argv[]);
在exec函数执行main函数前,先调用一个特殊的启动例程,改启动例程为程序的起始地址,
目的是为了从内核获取进程的命令行参数和环境变量
2、进程的终止
终止进程的方法有好多种,常用的有
(1)从main返回
return 其实是调用exit函数。
exit函数执行标准I/O库的清理关闭工作,fclose所有已打开的流,flush已修改数据。
(2)abort
(3)调用exit函数
(4)接收到信号
...
3、命令行参数
argc为命令行参数的个数,argv为命令行数组。数组大小为argc+1,最后一个值为NULL
4、环境表
全局变量environ指向环境表的起始地址,环境表是一个字符串数组,数组中存放的是name=value形式的C 字符串
5、C程序的存储空间布局
正文段是可以共享的,是只读的,防止被修改。bss段是不存储在磁盘程序文件中的,因为该段的变量都会被exec函数初始化为0或null,
正文段和初始化的数据会被存放在磁盘程序文件中。
命令行参数和环境变量存储在最高的地址空间内,对他们的修改相当麻烦,因为空间有限。有时需要重新申请空间,或者复制空间。
6、共享库
共享库其实是已被编译的中间文件,二进制形式。共享库使得可执行文件中不在需要包含公用的函数,只需引用共享库的函数即可。
调用动态库的好处在于可以减少可执行文件的大小,更新库不用修改源程序,坏处在于增加了运行时间开销,在当程序第一次被执行或者第一次调用共享库时。
-static参数指定调用静态库,不加则调用动态共享库
size 命令查看程序各个字段的大小
- APUE进程环境
- 【APUE】进程环境
- APUE进程环境小结
- APUE进程环境
- APUE 进程环境
- APUE学习:进程环境
- APUE------进程环境
- [APUE]进程环境
- APUE 进程环境
- (APUE读书笔记)进程环境
- [APUE]第七章 进程环境
- APUE——进程环境
- [APUE] 再读之进程环境
- apue:UNIX进程的环境
- APUE第七章 进程环境
- APUE 第七章 进程环境
- APUE学习笔记:第七章 进程环境
- APUE 第七章 进程的运行环境
- 通过邮件通知你的ejabberd服务器中发生的错误
- linux命令(15)——grep命令
- Comparison method violates its general contract
- [LeetCode]Min Stack
- 实现自定义string类
- APUE 进程环境
- Android WebView target="_blank" 打开新窗口
- java -- 读取和输出图片到本地
- Git中的Windows CRLF、Unix/Linux LF和Apple CR
- 如何检查 Android 应用的内存使用情况
- PL/SQL中文乱码修正
- IP地址与硬件地址
- 完美高仿精仿京东商城手机客户端android版源码
- 天声人語 20150518