arm下如何查看静态库中的符号信息

2024-06-15 15:44

本文主要是介绍arm下如何查看静态库中的符号信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在 ARM 架构下查看静态库(通常是 .a 文件)中的符号,可以使用以下几种工具和方法:

使用 nm 工具

nm 是一个常用来列出目标文件(包括静态库)符号表的工具。使用以下命令查看静态库中的符号:

arm-none-eabi-nm -C your_library.a

参数说明:

  • -C 选项用于解码 C++ 符号,使其更易读。

使用 ar 工具

ar 是一个档案工具,可以从静态库中提取对象文件。提取后,可以使用 nm 或其他工具查看符号。

  1. 首先使用 ar 列出库中的对象文件:

    arm-none-eabi-ar -t your_library.a
    
  2. 提取特定的对象文件(例如 foo.o):

    arm-none-eabi-ar -x your_library.a foo.o
    
  3. 使用 nm 查看提取出的对象文件中的符号:

    arm-none-eabi-nm -C foo.o
    

使用 objdump 工具

objdump 是另一个强大的工具,可以显示对象文件的详细信息,包括符号表。使用以下命令查看静态库中的符号:

arm-none-eabi-objdump -t your_library.a

参数说明:

  • -t 选项用于显示符号表。

综合示例

假设你有一个名为 libexample.a 的静态库,并且想要查看其中的符号,可以按以下步骤操作:

  1. 列出静态库中的所有对象文件:

    arm-none-eabi-ar -t libexample.a
    
  2. 假设输出中有一个对象文件 example.o,你可以提取该对象文件:

    arm-none-eabi-ar -x libexample.a example.o
    
  3. 使用 nm 查看提取出的 example.o 文件中的符号:

    arm-none-eabi-nm -C example.o
    
  4. 或者,直接使用 objdump 查看静态库中的所有符号:

    arm-none-eabi-objdump -t libexample.a
    

通过上述方法,你可以方便地查看 ARM 架构下静态库中的符号信息。

这篇关于arm下如何查看静态库中的符号信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

Thymeleaf:生成静态文件及异常处理java.lang.NoClassDefFoundError: ognl/PropertyAccessor

我们需要引入包: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>sp

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

Linux命令(11):系统信息查看命令

系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv

【小迪安全笔记 V2022 】信息打点9~11

第9天 信息打点-CDN绕过篇&漏洞回链8接口探针&全网扫指&反向件 知识点: 0、CDN知识-工作原理及阻碍 1、CDN配置-域名&区域&类型 2、CDN绕过-靠谱十余种技战法 3、CDN绑定-HOSTS绑定指向访问 CDN 是构建在数据网络上的一种分布式的内容分发网。 CDN的作用是采用流媒体服务器集群技术,克服单机系统输出带宽及并发能力不足的缺点,可极大提升系统支持的并发流数目,减少或避

Weex入门教程之4,获取当前全局环境变量和配置信息(屏幕高度、宽度等)

$getConfig() 获取当前全局环境变量和配置信息。 Returns: config (object): 配置对象;bundleUrl (string): bundle 的 url;debug (boolean): 是否是调试模式;env (object): 环境对象; weexVersion (string): Weex sdk 版本;appName (string): 应用名字;

C++/《C++为什么要有静态成员函数》

摘要        本文说明了什么是静态成员变量,什么是静态成员函数的概念,讨论了访问私有静态成员变量的三个方法。得出用静态成员函数访问静态私有成员变量是最佳方法即回答了“C++为什么要有静态成员函数“的问题。 类的静态成员 我们可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。静态成员在类的所有对象中是

c++的静态变化!

静态成员   对于非静态成员,一个类的每个对象都自己存有一个副本,每个对象根据自己拥有的非静态的数据成员来区别于其他对象。而静态成员则解决了同一个类的多个对象之间数据和函数的共享问题。   静态数据成员   静态数据成员的作用是:实现同一类的不同对象之间的数据共享。   #include<IOSTREAM>   using namespace std;   class Po