如何从 GNU ld 脚本将消息打印到标准输出?

Ros*_*fun 6 embedded linker ld

我有一个相当大的ld用于嵌入式平台的链接脚本,该平台的 RAM 和 ROM 较低。我想知道在重新定位所有代码后还剩下多少可用内存。实际上,我想将位置计数器的值打印.到标准输出。我该怎么做?有什么神奇的命令吗print(.)

too*_*ite 2

阅读手册。不存在这样的命令——不可能存在。

链接器“脚本”实际上更像是配置/描述符文件。它们不像脚本那样“执行”。也没有一个.(怎么可能是不同的内存区域?)。

但是,您可以输出可能正是您需要的地图。尝试选项-M。如果您在链接器脚本中正确设置了内存区域,则链接器将在某些内存区域溢出时发出警告,这实际上是自动构建所需的。


更新:如果您想坚持查看每个构建的部分大小,您可以 grep/过滤地图文件。