在Cocoa应用程序中,使用动态库还是静态库更好?

4
我需要在Cocoa应用程序中使用一个库,可以使用动态(.dynlib)或静态(.a)版本。我来自Linux世界,很乐意使用dynlib。然而,由于应用程序包将包含所有依赖项(包括dynlib),所以我认为由于静态链接而导致的较大二进制文件不会成为问题。什么是最好的解决方案?

iPhone SDK允许链接动态库吗?(我不确定...) - Mihir Mehta
1
@mihirmehta:Cocoa也存在于Mac电脑上。 - mouviciel
1
Cocoa标签用于关于Mac OS X上的Cocoa的问题。对于iOS,苹果使用短语Cocoa Touch,相应的Stack Overflow标签是cocoa-touch。 - user557219
3个回答

3
在这种情况下,我的担忧是大型可执行文件和小型可执行文件以及多个库的加载时间响应能力。差异可能很小。

我假设在Mac OS中的标准是将所有动态库放在包(.app)内,这意味着该库始终会被下载,无论是作为额外文件还是内置于二进制文件中。我的假设是否错误? - brandizzi
我指的不是从远程服务器下载安装包到本地硬盘的下载时间,而是从硬盘驱动器加载可执行文件到RAM的加载时间。 - mouviciel
哦,好的,我现在明白了。我可以静态链接任何必然被调用的库,并动态链接任何可能被调用的库,而且这两者之间的差异可能是无法察觉的。我打算使用静态链接。 - brandizzi

0

-1
iOS应用程序不应该有任何动态库。您唯一的选择是静态链接代码。

-1:这个问题涉及Cocoa,而Cocoa应用程序肯定可以使用动态库。 - user557219
我不是在开发iOS应用,我的应用是为Mac OS设计的。 - brandizzi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接