如何使用GCC在绝对地址处声明变量?

时间:2015-10-28 20:15:13

标签: c gcc linker declaration absolute

我们正在研究链接器如何在我的一个课程中工作,其中一个任务是涉及nm命令的一个小练习。基本上我们只想匹配nm为每个变量打印的类型和值。例如:

char* B = NULL;

将给出地址(不相关)然后B B.我已经成功地完成了我们需要的所有标签,除了A.我已经读过这只是意味着值是绝对的并且不能被链接器改变。我已经尝试了许多涉及volatileconststatic,定义以及我能想到的其他任何事情的组合,但我现在缺乏想法。我曾在其他地方读到这只能通过创建一个链接器脚本来实现,但事实并非如此,因为我的一些同行用C中的一行解决了这个问题。任何人都可以在C中找到一种方法输出:

some address A A
...

在它的目标文件上调用了nm

1 个答案:

答案 0 :(得分:1)

在标准C中定义绝对符号有点棘手。但您可以使用非标准内联汇编:

cursor.execute(query, values, multi = False)