c++ - 如何在 Mac 终端中查看 C++ 函数的名称

标签 c++

我想查看这段代码的错位名称。我应该怎么做。

我尝试过使用 G++ 编译器编译代码并将输出视为 ./a.out,但没有打印任何内容。我在 Windows 中阅读过 dumpbin.exe,但我对 Mac 没有任何了解。

名称处理.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
__Z6平方
__Z8nothing1ifcRi
__Z8nothing2ciRfRd
_主要

对我的问题的任何了解都将不胜感激。谢谢你

最佳答案

如果您没有安装 binutils,请安装该软件包。 这可能是一个很好的起点:Install binutils on Mac OSX

然后 nm a.out 应该向您显示经过修饰的名称,而 nm -C a.out 应该向您显示经过修饰的名称。

关于c++ - 如何在 Mac 终端中查看 C++ 函数的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54556517/

相关文章:

c++ - 如何更改QCompleter的弹出列表的位置?

c++ - 如何在没有分隔符的大文本文件中查找所有字典单词?

c++ - 如何将输入存储到数组中? C++

c++ - 如何使用 CImg 库打开 PNG 而不丢失 alpha channel ?

c++ - 生产中的 STL vector 和 Boost Multi Array

C++ 容器类

c++ - 设计问题 : apply specific treatment to a subclass only manipulating the superclass

c++ - 使用 libCurl 和 JsonCpp 从 https 网络服务器解析

c++ - qt exe 应用程序的 dll 文件太大。该怎么办?

c++ - 将函数指针定义为新类型,并在 C++ 中将模板类型作为参数是不可能的吗?