ios – 如何在Xcode中查看静态库的内容?
发布时间:2020-12-14 19:28:03 所属栏目:百科 来源:网络整理
导读:先感谢您.我有一个静态库,比如libpics.a.我想看看它的内容,例如该库的代码.我的静态库有一个.h文件和一个.a文件,我可以看到.h文件的内容,只有一种方法,但我看不到.a文件的内容.经过一些搜索后我才能发现,.a文件包含.h文件方法的编码部分或实现.我是iOS开发的
先感谢您.我有一个静态库,比如libpics.a.我想看看它的内容,例如该库的代码.我的静态库有一个.h文件和一个.a文件,我可以看到.h文件的内容,只有一种方法,但我看不到.a文件的内容.经过一些搜索后我才能发现,.a文件包含.h文件方法的编码部分或实现.我是iOS开发的新手,该.a文件中的代码,我想提取它,并使用它.
我试着搜索如何打开静态库,但大部分时间我都搜索了如何创建静态库以及如何使用它等等.但我只是想打开静态库文件,只是想看看它的实现中的代码文件. 我读了一些关于nm和ar工具的内容,但我不明白应用该代码的位置. 这样的事情 nm -C libschnoeck.a | less 要么 ar -t libsamplerate.a 安装命令行工具后,我写道 ar: phpFramework.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it) ar: phpFramework.a: Inappropriate file type or format 解决方法
您无法在静态库中看到源代码,因为那里没有源代码. IOS中的静态库就像任何其他类Unix系统一样,包含一组编译过程/函数/方法.
在普通项目构建时,只需仔细查看Xcode日志即可.您可以发现,首先,* .m文件被编译为* .o格式 – 它实际上是二进制格式(当编译源文件以在模拟器或本机设备上使用时,它是不同的).然后将这些* .o文件链接到应用程序中. (请不要责怪我这个简单的解释% – )) 实际上,静态库只是一组这样的预编译* .o文件.它由开发人员/所有者发送,以节省编译时间或/和保护源代码免于修改.因此,您只能在外部调用的帮助下使用它,这些调用记录在.h文件中,或者您可以从那里提取单独的模块(.o)并将其“手动”链接到您的应用程序中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |