C++ summary 工具 nm c++filt

2024-04-16 07:36
文章标签 工具 c++ nm summary filt

本文主要是介绍C++ summary 工具 nm c++filt,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

nm

nm 命令是一个用于显示二进制文件(通常是可执行文件或共享库)中的符号表的工具。它通常用于查看程序或库中定义的全局符号和函数的信息。nm 命令对于分析二进制文件中的符号和调试信息非常有用。

基本语法如下:

nm [options] <binary-file>

其中 <binary-file> 是要分析的二进制文件的路径。以下是一些常用的 nm 命令选项:

  • -a:显示所有符号,包括局部符号。
  • -g:仅显示全局符号。
  • -p:不排序,以符号在文件中出现的顺序显示。
  • -u:显示未定义的符号。
  • -C:显示 C++ 符号的原型。
  • -r:显示只读数据段的符号。

以下是一些示例:

  1. 显示所有符号(包括局部符号):

    nm -a binary_file
    
  2. 显示全局符号:

    nm -g binary_file
    
  3. 显示未定义的符号:

    nm -u binary_file
    
  4. 显示 C++ 符号的原型:

    nm -C binary_file
    

请注意,nm 命令的输出可能会很庞大,具体的输出格式和信息取决于二进制文件的类型和编译器的选项。在查看输出时,你可能会看到符号的地址、类型(函数、对象、未定义等)、符号名等信息。

c++filt

c++filt 是一个用于解码 C++ 符号(mangled names)的工具。在 C++ 中,由于函数重载、命名空间等特性,编译器会对函数名进行名称重整,以便区分不同的函数。这个过程被称为名称修饰(mangling)。

c++filt 工具可以将这样的修饰名称还原为人类可读的形式,使得符号更易于理解。

在命令行中使用 c++filt 的基本语法如下:

c++filt [mangled_name]

其中,mangled_name 是被修饰过的函数名或符号名称。c++filt 将其解码为可读的形式。

例如:

c++filt _Z3fooPc

这个命令可能输出:

foo(char*)

这表示 _Z3fooPc 被还原为 foo(char*)

CG

  • 设计良好的计算机程序是否可以避免所有内存泄漏?
  • https://www.quora.com/What-technology-or-tools-should-I-learn-along-with-C-for-experienced-programmers

这篇关于C++ summary 工具 nm c++filt的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/908166

相关文章

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

C++作用域和标识符查找规则详解

《C++作用域和标识符查找规则详解》在C++中,作用域(Scope)和标识符查找(IdentifierLookup)是理解代码行为的重要概念,本文将详细介绍这些规则,并通过实例来说明它们的工作原理,需... 目录作用域标识符查找规则1. 普通查找(Ordinary Lookup)2. 限定查找(Qualif

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

C++/类与对象/默认成员函数@构造函数的用法

《C++/类与对象/默认成员函数@构造函数的用法》:本文主要介绍C++/类与对象/默认成员函数@构造函数的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录名词概念默认成员函数构造函数概念函数特征显示构造函数隐式构造函数总结名词概念默认构造函数:不用传参就可以

C++类和对象之默认成员函数的使用解读

《C++类和对象之默认成员函数的使用解读》:本文主要介绍C++类和对象之默认成员函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、默认成员函数有哪些二、各默认成员函数详解默认构造函数析构函数拷贝构造函数拷贝赋值运算符三、默认成员函数的注意事项总结一

C/C++中OpenCV 矩阵运算的实现

《C/C++中OpenCV矩阵运算的实现》本文主要介绍了C/C++中OpenCV矩阵运算的实现,包括基本算术运算(标量与矩阵)、矩阵乘法、转置、逆矩阵、行列式、迹、范数等操作,感兴趣的可以了解一下... 目录矩阵的创建与初始化创建矩阵访问矩阵元素基本的算术运算 ➕➖✖️➗矩阵与标量运算矩阵与矩阵运算 (逐元