@符号在目标文件中的符号名称的末尾

时间:2012-08-13 10:33:29

标签: linker cygwin mingw symbols

在我的jpeg库系统中说:

$ > nm libjpeg.a | grep jpeg_finish_decompress
00000510 T _jpeg_finish_decompress

但是在openjpeg库中:

$ > nm lib/libopenjpeg.a | grep opj_decode_with_info
00000240 T _opj_decode_with_info@12

后者最后有12个。我猜12是论证的总大小 不过为什么有些符号有@ -ending? 当我尝试编译mupdf库时出现问题。它链接ok对jpeg 例如,库但无法再次链接openjpeg。

1 个答案:

答案 0 :(得分:0)

简短的回答是名称修改。它甚至用于普通c代码,而不仅仅是c ++。

下一个例子来自wikipedia。下一个函数定义:

int _cdecl    f (int x) { return 0; }
int _stdcall  g (int y) { return 0; }
int _fastcall h (int z) { return 0; }

给出这些符号:

_f
_g@4
@h@4