【发布时间】:2016-01-24 06:33:15
【问题描述】:
在nm 的手册页中。它说
“A”符号的值是绝对值,不会被进一步链接改变。
但是,我不知道那是什么意思。如何定义变量或其他东西以使其值在在 C 中是绝对的?
如果我在 test.c 的文件范围内声明一个变量
int a;
然后在nm的输出中,我的机器上a的条目将如下
0000000000000004 C a
所以我想知道如何使nm 为变量输出“A”。而且我不知道“绝对”是什么意思。
【问题讨论】:
-
这与C无关
-
@Olaf 为什么这与 C 无关?你读过标题吗?
-
我相信this 可能会引起您的兴趣。
-
@Lefteris 感谢您的评论。我已经读过那个帖子了。但是,答案说我需要使用链接器脚本来做到这一点。你知道没有链接器脚本有什么方法可以做到吗?
-
@Olaf 是的,我知道它与 C 标准无关,但这一事实并没有使问题与 C 无关。如果我问一个关于如何在 C 中实现某些东西的问题,那么这与C 因为它在 C 中的完成方式与在其他语言中的完成方式不同。如果我只是询问绝对符号或二叉树的概念,那么肯定它与 C 完全无关。你明白我的意思吗?
标签: c linker ld linker-scripts relocation