如何在Mac Terminal中查看C ++函数的错误名称

时间:2019-02-06 14:58:36

标签: c++

我想查看此代码的错误名称。我应该怎么做。

我已经尝试过使用G ++编译器编译代码,并看到输出为./a.out,但是没有输出任何内容。我已经在Windows中阅读了关于dumpbin.exe的信息,但对Mac没有任何了解。

nameMangling.cpp

// This demonstrate the nameMangling of function to make their signature.

int square(int x){
    return x*x;
}

double square(double y){
    return y*y;
}

void nothing1(int a, float b, char c, int &d){

}

void nothing2(char a, int b, float &c, double &d){

}

int main(){
    return 0; // Indicate successful termination
}

预期结果是
__Z6squarei
__Z6squared
__Z8nothing1ifcRi
__Z8nothing2ciRfRd
_main

任何对我的问题的理解都会受到赞赏。谢谢

1 个答案:

答案 0 :(得分:1)

如果尚未安装binutils,请安装该软件包。 这可能是一个不错的起点:Install binutils on Mac OSX

然后nm a.out应该向您显示错误的名称,而nm -C a.out应该向您显示已分解的名称。