gpt4 book ai didi

linux - NM linux命令输出含义

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:41:55 27 4
gpt4 key购买 nike

我正在我的库中搜索特定符号:

nm --undefined-only -A libcpprest.a | grep "error_category"

我得到:

libcpprest.a:json.cpp.o:          U _ZNSt14error_categoryC2Ev
libcpprest.a:json.cpp.o: U _ZNSt14error_categoryD2Ev
libcpprest.a:json.cpp.o: U _ZTISt14error_category

_ZNSt14”和“C2Ev”是什么意思?

有没有办法清理 nm 输出?

最佳答案

C++ 编译器执行 name mangling支持函数重载等功能(多次使用具有不同签名的相同函数名称,接受不同的参数)。不同的编译器可能会使用不同的名称修饰约定。

您可以使用 c++filt实用程序将名称分解为更易读的形式。在你的情况下:

> c++filt -n _ZNSt14error_categoryC2Ev
std::error_category::error_category()

> c++filt -n _ZNSt14error_categoryD2Ev
std::error_category::~error_category()

> c++filt -n _ZTISt14error_category
typeinfo for std::error_category

这是包含名称“error_category”的 3 个不同符号:构造函数、析构函数和类型信息。

关于linux - NM linux命令输出含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41834264/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com