查看库是否是动态库

如果是动态库则会有 Mach-O dynamically linked shared library标记

file xxxx.a

file xxxx.framework/xxxx

lipo

查看库支持多少 CPU 架构

lipo -i xxxx.framework/xxxx

Architectures in the fat file: xxxx are: armv7 armv7s arm64

lipo -create xxx.a xxx.a -output xxx.a合成一个库的两个不同CPU架构的库文件为一个

lipo xxx.a -thin armv7 -output armv7.a拆分提取一个库的CPU架构,从库中提取armv7架构保存

lipo xxx.a -thin arm64 -output arm64.a从库中提取arm64架构保存

lipo -detailed_info xxx.a查看可执行文件文件头详细信息

ar

ar -x xxx.a获取链接前.o文件

libtool

libtool -static -o ../xxx.a *.o链接合并.o文件为.a文件

otool

otool -L libswiftCore.dylib查看当前app或库所使用的iOS系统的动态库

查看库包含的架构信息 otool -o /framework路径/xxx.framework/xxx

反编译: otool -tV xxxx.framework/xxxx

反编译可以说是个逆向常用的比较黑的操作,注意:此命令将输出所有汇编代码,会比较长。

检查framework是否支持bitcodeotool -l xxxx | grep __LLVM | wc -l打印数值大于0则支持bitcode

nm

nm是names的缩写, nm命令主要是用来列出某些文件中的符号(函数和变量等)。因为比较长,也不列出了。

创建动态库+BITCODE

lipo otool 动态库、静态库的生成相关推荐

  1. linux库引入之动态库静态库(生成和使用)

    库: 库是一种可执行代码的二进制形式,可以被操作系统载入内存执行.就是将源代码转化为二进制格式的源代码,相当于进行了加密,别人可以使用库,但是看不到库中的内容. 如何使用 用户需要同时具有头文件和库. ...

  2. VS2015编译32位Opencv310(动态库+静态库,文末有下载链接)

    VS2015编译32位Opencv310(动态库+静态库 编译过得,可以直接用的: http://download.csdn.net/download/longzaihuaxia/9802510 之前 ...

  3. c语言makecode头文件,cmake 添加头文件目录,链接动态、静态库

    罗列一下cmake常用的命令. CMake支持大写.小写.混合大小写的命令. 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: include_directories([AFTER| ...

  4. linux系统应用学习(三)--- 动态库静态库

    动态库静态库 库文件:一般指第三方提供的可调用的库函数文件,库文件封存的是函数体,即.c文件里面的内容. 动态库      静态库 Windows下:        xx.dll            ...

  5. 硬核拆解动态库静态库

    [Github pages] 动态库与静态库是编程中十分常见的玩意儿,但是如此常见的东西在我真正用心去了解梳理过一遍之后才发现原来这里面有这么多的门道.本文就介绍一波 Linux 平台下,特指 GCC ...

  6. linux库--静态库、动态库

    文章目录 一.分文件编程思想 二.动态库静态库 1.概念介绍 2.静态库的制作和使用 3.动态库的制作和使用 一.分文件编程思想 好处: 分模块的编程思想 例如: 网络 a 超声波b 电机c a.功能 ...

  7. lipo 制作通用版本 静态库

    2019独角兽企业重金招聘Python工程师标准>>> 利用 lipo 制作通用版本 静态库 由于静态库在device和simulator上要选择不同的版本,因此在实际使用的时候切换 ...

  8. CMake 添加头文件目录,链接动态、静态库(添加子文件夹)

    CMake支持大写.小写.混合大小写的命令. 当编译一个需要第三方库的项目时,需要知道: 去哪找头文件(.h),-I(GCC) INCLUDE_DIRECTORIES() 去哪找库文件(.so/.dl ...

  9. cmake中添加引用动态链接_CMake 添加头文件目录,链接动态、静态库(添加子文件夹)...

    CMake支持大写.小写.混合大小写的命令. 当编译一个需要第三方库的项目时,需要知道: 去哪找头文件(.h),-I(GCC) INCLUDE_DIRECTORIES() 去哪找库文件(.so/.dl ...

最新文章

  1. Nginx负载均衡的详细配置及使用案例
  2. 自动识别文字的编码以及读取所有文本——VB2005
  3. [register]-ARM64重要寄存器介绍
  4. 密码学基础知识(九)密钥管理
  5. 全球与中国自行车和零件制造市场发展规划及未来投资趋势展望报告2021年版
  6. pixhawk自学笔记之px4程序启动顺序
  7. python封装举例_Python+Pycharm—学习1—封装导入
  8. 有线以太网RJ45网口网卡转无线wifi网卡转wifi网口转无线有线转无线方案
  9. 【手把手教你Ubuntu】Ubuntu 13.04 Linux 3D桌面完全教程,显卡驱动安装方法
  10. 美团-移动端UI一致性解决方案
  11. csdn里面代码块颜色
  12. android 模拟返回键
  13. 关于 4K 电视的一些知识
  14. FreeRTOS中汇编指令
  15. SMBMS(超市订单管理系统)
  16. linux 关闭防火墙scp功能,在 Linux 下使用 scp 命令
  17. 【产品实战-乘风游旅游App】0.0 写在前面
  18. C++实现的Socket接口实现自定义协议通信
  19. 《未来简史》中的十大脑洞
  20. Linux初学者笔记,

热门文章

  1. 高等数学术语英汉对照
  2. 利用Office,将多个doc文档合并为一个文件,文档合并
  3. 2022-10-04 语法分析器bison说明
  4. OpenGL十二讲代码
  5. 沈阳理工大学计算机考研资料汇总
  6. 项目ERP与传统ERP的区别是什么?
  7. Android 安卓告别SharedPreFerences,你好MMKV
  8. Map与JSON之间转换
  9. SIMD和SPMD的区别
  10. Maven环境配置(本文以“apache-maven-3.8.2”的安装配置为例)