当前位置: 首页 > news >正文

iOS开发之查看静态库(.a/.framework)中包含的.o文件和函数符号(ar,nm命令)

.a/.framework其实是把编译生成的.o文件,打包成一个.a/.framework文件。a的意思是archive/归档的意思。

查看静态库.a文件包含的内容用下面的命令解压:

 ar x xxx.a

用ar命令打包静态库:


参数r是将后面的*.o或者*.a文件添加到目标文件中
参数c是创建
参数s是添加索引ar -rcs 文件输出地址/xxx.a 文件索引地址1/*.o 文件索引地址2/*.o 等等还可以将.a文件和.o文件一起打包:
ar -rcs 文件输出地址/xxx.a 文件索引地址1/*.o 文件索引地址2/*.o 等等 合并后的文件输出地址/xxxxx.a

查看.a文件的symbols(符号),用下面的命令:

nm  xx.a如果输出较多,可重定向输出至文本文件中
nm  xx.a  > xx.txt会打印每个包含的文件,以及文件内的symbol
nm -g xxx.a

输出包含三个部分:

1、符号值。默认显示十六进制;

2、符号类型。小写表示是本地符号,大写表示全局符号(external);

3、符号名称。

例如:

符号的类型是以一个字母的形式显示的,小写字母表示这个符号是本地(local)的,而大写字母则表示这个符号是全局的(global,externel)。一般来说,类型有以下几种:T、D、B、U、W。

各自的含义如下:

T表示在代码段中定义的一般变量符号;

D表示时初始化过的数据段;

B表示初始化的数据段;

U表示没有定义的,在这个库里面使用了,但是在其他库中定义的符号;

W,weak的缩写,表示如果其他函数库中也有对这个符号的定义,则其他符号的定义可以覆盖这个定义;

整理不易,转载请注明,谢谢~

http://www.lryc.cn/news/138870.html

相关文章:

  • Idea常用快捷键--让你代码效率提升一倍(一)
  • 【Open3D】第二篇:GUI编程
  • 【Python】P0 本系列博文简介与大纲
  • FL Studio 21.1.0 Build 3713中文破解免费下载安装激活
  • 从0开始配置eslint
  • Activity 的启动流程(Android 13)
  • deepspeed学习资料
  • 数据分享|R语言PCA主成分、lasso、岭回归降维分析近年来各国土地面积变化影响...
  • Docker-Consul
  • Pygame编程(2)display模块
  • 第十五天|104.二叉树的最大深度、111.二叉树的最小深度、 222.完全二叉树的节点个数
  • 图像识别技术在医疗领域的革命:探索医学影像诊断的未来
  • 计网第四章(网络层)(二)
  • 原生微信小程序使用 wxs;微信小程序使用 vant-weapp组件
  • qml相关知识1
  • linux+c+qt杂记
  • shouldComponentUpdate有什么作用?
  • 华为OD-滑动窗口最大值
  • Linux:ansible自动化运维工具
  • 前端如何使用WebSocket发送消息
  • 纸贵科技连续三年蝉联IDC中国 FinTech 50榜单
  • 台积电美国厂施工现场混乱,真令人头痛 | 百能云芯
  • React绑定antd输入框,点击清空或者确定按钮实现清空输入框内容
  • Springboot整合liquIbase组件
  • Apache Paimon 实时数据湖 Streaming Lakehouse 的存储底座
  • 计算机网络(10) --- 高级IO
  • 学习中ChatGPT的17种用法
  • 融合CDN 如何有效的抵抗DDoS攻击
  • Git 原理与使用
  • 如何批量加密PDF文件并设置不同密码 - 批量PDF加密工具使用教程