GCC自动分组变量和代码段

问题描述 投票:0回答:1

我的linux C项目有一个简单的makefile,它可以编译并链接几个模块。

我在output.map中看到,变量和函数是在声明的基础上逐个链接的,每个模块都在链接。

我希望将来自所有模块的所有变量归为一个部分,并将所有功能归为另一部分。

我知道我可以通过定义部分来做到这一点,但我不禁要问是否有现成的链接器开关会自动执行此操作。

c linux gcc linker
1个回答
0
投票

通过使用“链接器命令”文件,您可以按照自己的意愿放置所有内容。

但是,使用gcc,会自动定义几个部分。

。text部分包含所有可执行代码.data节包含所有预定义的数据.bss部分具有所有变量

还有一些其他部分,主要用于特殊目的

上面是一个简化的概述,但是,数据和代码不会像您指出的那样串在一起。除其他原因外,因为变量和代码对于内存页需要不同的参数。

© www.soinside.com 2019 - 2024. All rights reserved.