【发布时间】:2016-07-07 05:11:08
【问题描述】:
在C\C++程序的main函数的栈帧中,是否有保存的返回地址和保存的栈指针(ebp)?如果是这样,它们指向哪里,因为没有以前的堆栈帧要记录?
【问题讨论】:
-
这些都不是 C 或 C++ 语言规范的一部分。这些是实现细节,任何实现都可以在它认为合适的时候处理这个问题。就操作系统而言,
main通常不是入口点。真正的入口点通常是语言支持实现的一部分(例如 CRT)。 -
一般来说是的,但正如@IInspectable 已经指出的那样,这是一个实现细节,C 和 C++ 标准都不能保证。
-
对于 C++,该语言要求某些代码可以在
main之前执行,这意味着用户空间中的某些东西负责调用它们。