zoukankan      html  css  js  c++  java
  • 第40课 程序的内存布局

    程序文件的一般布局:

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

    程序与进程:

    面试中的小问题:

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

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

    程序的一般布局:

    各个段的作用:

    程序术语的对应关系:

    面试中的小问题:

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

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

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

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

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

    小结:

  • 相关阅读:
    hdu 1232 最小生成树
    hdu 1260 dp
    hdu 1385 最短路径按字典数输出
    hdu 1541 树状数组
    hdu 1544 求字符串回文
    hdu 1728
    hdu 1754 树状数组求最大值
    hdu 1892 二维树状数组
    hdu 2082 母函数
    循环
  • 原文地址:https://www.cnblogs.com/wanmeishenghuo/p/9557150.html
Copyright © 2011-2022 走看看