为什么我要使用静态库?

时间:2011-05-24 16:41:32

标签: xcode ios

我理解非iOS目标,使用共享库可以降低内存使用率,还有一些公司分发库和标题(如Superpin)和静态库允许它们不分发源代码他们的产品。但除此之外,您想要使用静态库的原因是什么?我对我的所有项目使用git,我通常将外部库(开源库)添加为子模块。这意味着它们在本地占用磁盘空间,但它们不会使回购混乱。此外,由于iOS不支持共享库,因此构建库以促进代码重用的好处似乎减少了。

基本上,除了销售封闭源代码库之外,还有什么理由为iOS构建/使用静态库是有意义的吗?

3 个答案:

答案 0 :(得分:1)

组织,重用和轻松集成到其他程序中。

如果您有一个由多个应用程序使用或针对多个平台的库,那么您将必须维护每个应用程序的构建。使用库,您可以让库维护者正确设置构建,然后您只需链接到结果(如果它是在内部开发的,那么您也希望将它作为依赖项添加)。

它就像DRY,但是对于项目来说。

随着项目变得越来越复杂,

库变得越来越有用。您应该尝试确定哪些程序(函数,类层次结构等)可以在应用程序的上下文之外重用,并将其放在库中以便于重用 - 如模式识别。

一旦您的代码库有数百或数千个文件,您将希望最小化您使用的内容,并且您不希望为每个项目手动维护依赖项。

答案 1 :(得分:0)

静态库允许您拥有真正的独立可执行文件。由于所有库代码实际上都存在于可执行文件中,因此您不必担心exec无法运行,因为某些库的版本太旧,或者版本太新,或者它完全缺失等等。你不必担心你的应用程序突然崩溃,因为某些库被替换了。它减少了依赖关系,让您的应用程序更加封装。

答案 2 :(得分:0)

  

此外,由于iOS不支持共享   图书馆,建设的好处   图书馆促进代码重用似乎   减少。

没有理由不能在多个项目中构建自己的静态库。 除了那个目的和你提到的那些我不认为还有其他的东西。