XCode 中的静态库和动态库有什么区别?为什么 Apple 不允许我们在 iOS 应用程序中使用动态库?
问问题
7271 次
3 回答
12
虽然您可以为 Mac OS X 构建动态库,但不能将它们用于 iPhone 开发。
静态库只是目标文件的存档,这些文件被拉入链接到它的程序中。链接器将取消归档所有存档文件,并在链接期间将它们与其余目标文件一起拉入。
然而,动态库会创建一个共享对象文件,类似于程序但没有入口点,程序可以链接这些共享库并将其自身调用到这些共享库中以获得它们的符号,而无需将它们拉入自身。
于 2010-09-16T05:07:05.037 回答
4
动态库对于 iphone 应用程序没有任何意义,因为无法在手机上安装该库。我记得读过一些文档,其中苹果表示他们决定不使用动态库,因为他们不希望用户不得不处理查找/更新库的麻烦。每个应用只安装 1 个捆绑包要容易得多。
于 2010-09-16T05:55:34.123 回答
1
Apple 确实允许您制作动态库。在 Mac OS X 上,这些以 .bundle 或 .dylib 结尾(在 Linux 上不是 .so 或 .a)。
什么,你具体想做什么?您是否为您的 dylib 创建了目标?
于 2010-09-16T05:06:21.483 回答