程序文件的一般布局:

 

加载程序加载文件时,根据文件头信息就可以知道这是一个什么样的文件。知道了是什么样的可执行程序就知道怎么运行它了。

程序与进程:

 

面试中的小问题:

包含脚本代码的文本文件是一种类型的可执行程序吗?如果是,对应什么样的进程呢?

脚本代码是可执行程序,但不是直接的可执行程序,是解释执行的。具体如下:

 

程序的一般布局:

 

各个段的作用:

 

程序术语的对应关系:

 

面试中的小问题:

同是全局变量和静态变量,为什么初始化和未初始化的保存在不同段中?

未初始化的全局变量或者局部静态变量默认初始化为0,对于未初始化的全局变量,加载时将这片内存区全初始化为0就可以了。

对于初始化的全局变量在程序里面一定要保存它的初始值,并且这个初始值要对应好。初始化的变量在加载时要记住它的地址,并将初始值写入这个地址。

而未初始化的全局变量,只需简单的初始化为0就可以了。

这两种情况的加载速度是不一样的,所以要区别对待。

 

小结:

 

posted on 2018-08-29 21:50  周伯通789  阅读(183)  评论(0编辑  收藏  举报