【发布时间】:2012-02-08 16:09:28
【问题描述】:
我很困惑。自动、静态和全局变量的分配是在编译时还是运行时进行的?
我知道的是,在编译时,源代码被翻译成机器语言。
当编译器找到像int a; 这样的语句时,它会编写指令。在编译时是否会发生任何额外的事情,例如内存分配?
.exe 文件执行时会发生什么?
计算机 (OS) 或编译器是否会在运行时或编译时分配足够的内存来保存整数。
也有人说全局变量的地址是编译时常量。这是什么意思? 请帮助解决每个问题,尤其是最后一个问题。
【问题讨论】:
-
像
int a;这样的声明并不直接对应机器指令。 -
这不是我作业的一部分。我的脑海中出现了一个问题,为什么旧的学习与新的发生冲突。我总是用谷歌搜索,直到我吓坏了