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.rhkb.cn/news/104798.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

031 - 浮点类型(近似值 FLOAT,DOUBLE)

-FLOAT,DOUBLE: FLOAT和DOUBLE类型代表近似数字数据值。MySQL将四个字节用于单精度值,并将八个字节用于双精度值。 对于FLOAT,SQL标准允许对FLOAT括号中的关键字后面的位以精度(而不是指数的范围)进行可选规…

全流程R语言Meta分析核心技术高阶应用

查看原文>>>全流程R语言Meta分析核心技术高阶应用 目录 专题一、Meta分析的选题与检索 专题二、Meta分析与R语言数据清洗及统计方法 专题三、R语言Meta分析与作图 专题四、R语言Meta回归分析 专题五、R语言Meta诊断分析 专题六、R语言Meta分析的不确定性 专题…

YoloV5环境搭建记录

https://github.com/ultralytics/yolov5/ 1、在Anaconda Promptx新建conda虚拟环境 conda create -n py39_yolov5 python3.9 2、激活虚拟环境 conda activate py39_yolov5 3、虚拟环境下装所需依赖 conda install pytorch1.12.1 torchvision0.13.1 torchaudio0.12.1 cpuo…

代码仓库设置访问权限

通过设置IP白名单的IP范围和访问控制,限制用户的访问和上传下载权限,大大增强仓库的安全性。 对于测试环境和生产环境都不应该增加“允许提交代码”权限 只有开发环境才允许

嵌入式Linux人脸检测libfacedetection

人脸检测 此库依赖Opencv,所以首先要移植Opencv到板子上。 笔者使用LVGL搭建了一个界面,界面有些卡顿(主要原因是文件存取较慢),演示效果如下: OpenCV 首先要交叉编译Opencv 参考:https://…

一生一芯9——ubuntu22.04安装valgrind

这里安装的valgrind版本是3.19.0 下载安装包 在选定的目录下打开终端,输入以下指令 wget https://sourceware.org/pub/valgrind/valgrind-3.19.0.tar.bz2直至下载完成 解压安装包 输入下面指令解压安装包 tar -xvf valgrind-3.19.0.tar.bz2.tar.bz2注&#xf…

春秋云镜 CVE-2019-16113

春秋云镜 CVE-2019-16113 Bludit目录穿越漏洞 靶标介绍 在Bludit<3.9.2的版本中&#xff0c;攻击者可以通过定制uuid值将文件上传到指定的路径&#xff0c;然后通过bl-kernel/ajax/upload-images.php远程执行任意代码。 启动场景 漏洞利用 exp https://github.com/Kenun…

AWS 提示证书签名过期无法自动更新

如果域名没有通过验证的话&#xff0c;证书的过去是没有办法自动更新的。 验证的方式也非常简单&#xff0c;通过下面的配置&#xff0c;把 CNAME添加到你的域名上面&#xff0c;AWS 就可会自动完成验证了。 当添加完成后&#xff0c;AWS 验证需要的时间大致在 30 分钟到 1 个…

优美而高效:解决服务器通信问题

题目背景 在这个问题中&#xff0c;我们面临着一幅服务器分布图。图中的每个单元格可能有服务器&#xff08;标记为1&#xff09;或者没有&#xff08;标记为0&#xff09;。我们的任务是找出能够与至少一台其他服务器进行通信的服务器数量。 算法思路 为了解决这个问题&…

HTTP原理与实现

一、基本概念 一、基本原理* 1、全称&#xff1a; HyperText Transfer Protocol (超文本传输协议) 2、底层实现协议&#xff1a;建立在 TCP/IP 上的无状态连接。 3、基本作用&#xff1a;用于客户端与服务器之间的通信&#xff0c;规定客户端和服务器之间的通信格式。包括请…

婚恋交友h5多端小程序开源版开发

婚恋交友h5多端小程序开源版开发 以下是婚恋交友H5多端小程序的功能列表&#xff1a; 用户注册和登录&#xff1a;用户可以通过手机号码或第三方账号注册和登录。个人信息填写&#xff1a;用户可以填写个人基本信息&#xff0c;包括姓名、性别、年龄、身高、体重、学历、职业等…

Qt应用开发(拓展篇)——示波器/图表 QCustomPlot

一、介绍 QCustomPlot是一个用于绘图和数据可视化的Qt C小部件。它没有进一步的依赖关系&#xff0c;提供友好的文档帮助。这个绘图库专注于制作好看的&#xff0c;出版质量的2D绘图&#xff0c;图形和图表&#xff0c;以及为实时可视化应用程序提供高性能。 QCustomPl…

Docker-Consul

Docker-Consul 一、介绍1.什么是服务注册与发现2.什么是consul3.consul提供的一些关键特性&#xff1a; 二、consul 部署1.环境准备2.consul服务器3.查看集群信息4.通过 http api 获取集群信息 三、registrator服务器1.安装 Gliderlabs/Registrator2.测试服务发现功能是否正常3…

基于深度学习的图像风格迁移发展总结

前言 本文总结深度学习领域的图像风格迁移发展脉络。重点关注随着GAN、CUT、StyleGAN、CLIP、Diffusion Model 这些网络出现以来&#xff0c;图像风格迁移在其上的发展。本文注重这些网络对图像风格迁移任务的影响&#xff0c;以及背后的关键技术和研究&#xff0c;并总结出一…

Qt(C++)计算一段程序执行经过的时间

一、前言 在许多应用程序和系统中,需要对经过的时间进行计算和记录。例如 可能想要测量某个操作的执行时间,或者记录一个过程中经过的时间以进行性能分析。在这些场景下,准确地计时是非常重要的。 Qt提供了一个功能强大的计时器类QElapsedTimer,可以方便地记录经过的时间…

PostMan 测试项目是否支持跨域

使用PostMan可以方便快速的进行跨域测试。 只需要在请求头中手动添加一个Origin的标头&#xff0c;声明需要跨域跨到的域&#xff08;IP&#xff1a;端口&#xff09;就行&#xff0c;其余参数PostMan会自动生成。添加此标头后&#xff0c;请求会被做为一条跨域的请求来进行处…

python+django+协同过滤算法-基于爬虫的个性化书籍推荐系统(包含报告+源码+开题)

为了提高个性化书籍推荐信息管理的效率&#xff1b;充分利用现有资源&#xff1b;减少不必要的人力、物力和财政支出来实现管理人员更充分掌握个性化书籍推荐信息的管理&#xff1b;开发设计专用系统--基于爬虫的个性化书籍推荐系统来进行管理个性化书籍推荐信息&#xff0c;以…

硬盘中病毒是什么原因?硬盘格式化能清除病毒吗

“我的电脑中了一个非常顽固的病毒&#xff0c;朋友建议我进行硬盘格式化来彻底清除病毒。不知道是不是真的有用&#xff0c;半信半疑下进行了硬盘格式化。当我完成操作后&#xff0c;我发现有些工作文件没有备份到。这可怎么办&#xff1f;想问下大家有没有什么方法去恢复数据…

JS逆向系列之商指针数据解密

文章目录 声明案例地址y解密算法分析ecryptByPrivateKey 解密算法分析写代码前的流程梳理参考代码往期逆向文章推荐声明 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请私信我立即删除! 案例地址 aHR0cDovL…

《Zookeeper》源码分析(二十)之 Follower

目录 Follower创建Follower实例followLeader()findLeader()connectToLeader()registerWithLeader()syncWithLeader() FollowerZooKeeperServer Follower Leader选举结束后&#xff0c;成为Follower的服务器开始进行Follower的工作&#xff0c;过程如下&#xff1a; 与Leader…