C 链接器脚本生成器

C 链接器脚本生成器,c,eclipse,ide,embedded,ld,C,Eclipse,Ide,Embedded,Ld,我最近花了很多时间试图修复一个有问题的ld脚本。 一旦我(在纸上)画了所有不同的部分,我就可以解决这个问题了 所以我开始搜索某种LD脚本生成器,但没有找到! 有人知道是否存在这样的工具吗? 可以导入/导出ld脚本或映射文件/elf文件并显示不同对象/部分和地址的东西 我知道有些IDE不需要担心LD脚本,但我使用的是eclipse,它甚至不提供语法突出显示 我不知道LD脚本有任何WYSIWYG编辑器,但我可以帮助您以图形方式调试这些类型的问题 我假设这是一个运行时问题,而不是编译时问题。如果是这种

我最近花了很多时间试图修复一个有问题的ld脚本。 一旦我(在纸上)画了所有不同的部分,我就可以解决这个问题了

所以我开始搜索某种LD脚本生成器,但没有找到! 有人知道是否存在这样的工具吗? 可以导入/导出ld脚本或映射文件/elf文件并显示不同对象/部分和地址的东西


我知道有些IDE不需要担心LD脚本,但我使用的是eclipse,它甚至不提供语法突出显示

我不知道LD脚本有任何WYSIWYG编辑器,但我可以帮助您以图形方式调试这些类型的问题

我假设这是一个运行时问题,而不是编译时问题。如果是这种情况,那么您可以使用链接器的映射输出来了解发生了什么

gcc -Wl,-Map=main.map main.c
然后,可以使用grep解析映射文件,或者您可以使用用于该文件的方法来调试节和符号的问题

您还可以使用nm从链接的可执行文件中获得类似的结果:

nm -S --size-sort a.out 

据我所知,没有用于此目的的非专有工具。

NXP使用Apache工具作为集成到NXP(基于Eclipse)IDE中的链接器脚本生成器。

Green Hills MULTI toolset中有这样一个工具,它是专有的。我在其他地方没有见过这样的工具。也就是说,我从未发现它对显示或编辑有用。不过,使用readelf从可执行文件中转储部分边界并滚动您自己的图形可能是一项快速的工作。你关于“某些IDE”的说明让我怀疑你到底在用链接器脚本做什么,不过……是的,你上面的建议就是我实际做的。我想做的是使这项工作自动化(某种GUI)。我的链接器脚本相当复杂,在flash/内部和外部ram中有许多不同的部分,因此手动检查链接器脚本的魔力是一项耗时的工作。我将接受这一答案,因为我还没有看到一个工具来做这件事!