从编程的角度来看,这些符号意味着什么?

时间:2015-04-01 18:56:57

标签: c assembly linker nm

我必须创建一个C文件,在编译时返回nm的符号输出,类型为 A B V < / strong>即可。我已阅读nm的手册页并在线搜索,但两者都没有帮助我弄清楚如何创建具有这些类型的符号。从编程的角度来看,这些符号意味着什么?还有什么好的参考我应该看看吗?

1 个答案:

答案 0 :(得分:2)

在这3个中,我认为你只能使用标准C代码创建B。那只是一个初始化为零的全局变量,即。 int foo = 0;。要创建绝对或弱对象,必须使用特定于编译器的扩展。

使用gcc的弱符号可以声明为:int bar __attribute__ ((weak));

我想不出现在申报绝对符号的方法。