【发布时间】:2013-06-22 13:17:51
【问题描述】:
我有像这样的重载函数:
void f(int)
void f(int, int)
void f(int, float)
如何编译它,以便我可以看到损坏的输出? 类似的东西:
void f(int) should show: ?f@@YAXH@Z(int)
例如,要查看预处理器输出,我们使用-E,汇编器输出-s,名称错位输出是什么?
P.S: 平台是 Linux
编辑:
根据答案,我们开始:
void func(int);
void func(int, int);
void func(void);
void func(char);
[root@localhost ~]# cat a.map | grep func
0x0804881a _Z4funcc
0x08048790 _Z4funcv
0x080487be _Z4funcii
0x080487ec _Z4funci
【问题讨论】:
-
调用函数而不实现它们,链接器会很友好地告诉您错误消息中的错误名称。 :)