iOS-用strings命令扫描静态库-解决duplicate

2017-12-27  本文已影响0人  Billlin

strings命令

strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。

语法
strings [ -a ] [ - ] [ -o ] [ -t Format ] [ -n Number ] [ -Number ] [ file ... ]
选项
-a --all:扫描整个文件而不是只扫描目标文件初始化和装载段
-f –print-file-name:在显示字符串前先显示文件名
-n –bytes=[number]:找到并且输出所有NUL终止符序列
- :设置显示的最少的字符数,默认是4个字符
-t --radix={o,d,x} :输出字符的位置,基于八进制,十进制或者十六进制
-o :类似--radix=o
-T --target= :指定二进制文件格式
-e --encoding={s,S,b,l,B,L} :选择字符大小和排列顺序:s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit
@ :读取中选项

strings扫描静态库语法

strings扫描静态库结果


strings命令解决duplicate symbol问题

在两个SDK的.m文件中定义了相同的全局变量,编译时会报duplicate symbol错误。这时候在项目中全局搜索重复的全局变量名是搜索不到任何结果的,也就没办法知道是哪里重复了。这时候strings命令就派上用场了,用strings命令扫描静态库就可以找到重复的全局变量是在哪个类中定义的。

上一篇下一篇

猜你喜欢

热点阅读