首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NM命令输出含义

NM命令输出含义
EN

Stack Overflow用户
提问于 2017-01-24 17:11:45
回答 1查看 691关注 0票数 2

我正在我的库中寻找一个特定的符号:

代码语言:javascript
复制
nm --undefined-only -A libcpprest.a | grep "error_category"

我得到了:

代码语言:javascript
复制
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”是什么意思?

有没有办法清洗纳米输出?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-24 18:01:53

C++编译器执行名称残缺来支持像函数重载这样的特性(使用相同的函数名多次使用不同的签名,接受不同的参数)。不同的编译器可能会使用不同的约定来进行名称损坏。

您可以使用c++filt实用程序将名称分解为更具可读性的形式。就你而言:

代码语言:javascript
复制
> 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”的不同符号:构造函数、析构函数和类型信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41834264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档