zak*_*zak 5 xcode static-libraries ios
先感谢您.我有一个static library,比如说libpics.a.我想看看它的内容,例如该库的代码.我的静态库具有一个.h file与一个.a file,我可以看到的内容.h file,只有一个方法,但我不能看到的内容.a file.经过一番搜索后我才能发现,.a file包含编码部分或实现.h file's方法.我是iOS开发新手,代码在那里.a file,我想提取它,然后使用它.
我试着搜索如何打开静态库,但大部分时间我都搜索了如何创建静态库以及如何使用它等等.但我只是想打开静态库文件,只是想看看它的实现中的代码文件.
我读了一些关于nm和ar工具,但我不明白在哪里应用该代码.
这样的事情
nm -C libschnoeck.a | less
Run Code Online (Sandbox Code Playgroud)
要么
ar -t libsamplerate.a
Run Code Online (Sandbox Code Playgroud)
在安装命令行工具之后,我
根据ВладимирВодолазкий的建议在终端中编写了
ar -x phpFramework.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
Run Code Online (Sandbox Code Playgroud)
您无法在静态库中看到源代码,因为那里没有源代码.IOS中的静态库就像任何其他类Unix系统一样,包含一组编译过程/函数/方法.
在普通项目构建时,只需仔细查看Xcode日志即可.您可以发现,首先,*.m文件被编译为*.o格式 - 它实际上是二进制格式(当编译源文件以在模拟器或本机设备上使用时,它是不同的).然后将这些*.o文件链接到应用程序中.(请不要责怪我这个简单的解释% - ))
实际上,静态库只是一组这样的预编译*.o文件.它由开发人员/所有者发送,以节省编译时间或/和保护源代码免于修改.因此,您只能在外部调用的帮助下使用它,这些调用记录在.h文件中,或者您可以从那里提取单独的模块( .o)并将其"手动"链接到您的应用程序中.
| 归档时间: |
|
| 查看次数: |
10206 次 |
| 最近记录: |