我知道每个片段的用途,但我想知道是谁用c或c++这样的语言实现它们呢?
它们是由c/c++编译器程序员在编写语言实现时编写的吗?或者这些段是在OS /硬件级别实现的(可能是当OS为程序选择一个地址空间时)?
我把堆栈框架想象成一个简单的c++结构,它被推入堆栈中,用于每个函数调用。我把堆想象成一个动态数组等等.
发布于 2014-06-22 12:18:08
它们是由c/c++编译器程序员在编写语言实现时编写的吗?或者这些段是在OS /硬件级别实现的(可能是当OS为程序选择一个地址空间时)?
段入口点主要在工具链的链接阶段(和链接器程序)进行管理。
从这个意义上说,是的,这些是由编译器开发人员实现的。
不过,您可以提供自己的链接器脚本,您可以在其中指定应该在哪些具体内存地址中发生这些段,以及这些内存地址是否指ROM或RAM。
我把堆栈框架想象成一个简单的c++结构,它被推入堆栈中,用于每个函数调用。我把堆想象成一个动态数组等等.
恐怕没有那么简单:
https://stackoverflow.com/questions/24350999
复制相似问题