程序文件的一般布局:
加载程序加载文件时,根据文件头信息就可以知道这是一个什么样的文件。知道了是什么样的可执行程序就知道怎么运行它了。
程序与进程:
面试中的小问题:
包含脚本代码的文本文件是一种类型的可执行程序吗?如果是,对应什么样的进程呢?
脚本代码是可执行程序,但不是直接的可执行程序,是解释执行的。具体如下:
程序的一般布局:
各个段的作用:
程序术语的对应关系:
面试中的小问题:
同是全局变量和静态变量,为什么初始化和未初始化的保存在不同段中?
未初始化的全局变量或者局部静态变量默认初始化为0,对于未初始化的全局变量,加载时将这片内存区全初始化为0就可以了。
对于初始化的全局变量在程序里面一定要保存它的初始值,并且这个初始值要对应好。初始化的变量在加载时要记住它的地址,并将初始值写入这个地址。
而未初始化的全局变量,只需简单的初始化为0就可以了。
这两种情况的加载速度是不一样的,所以要区别对待。
小结: