【问题标题】:Which is the more efficient setup here? [closed]这里哪种设置更有效? [关闭]
【发布时间】:2012-09-09 17:07:03
【问题描述】:

Objective-C / 苹果手机 / 越狱开发

我正在构建一个代码量可能会增加的程序,因为它是一种基于 API 的可扩展程序。 (想想插件)

我有两个选择,将不断增长的代码保留在可执行文件中(变得混乱)或将其放在单独的动态库中。

如果我采用动态库方法,我将拥有大约 20 多个动态库,主程序将同时打开它们。这效率如何?同时打开大量动态库是否有任何限制或性能劣势?

我对 Objective-C 的经验水平适中,所以我不是什么都知道。 :P

谢谢。

【问题讨论】:

  • 为什么这么多?您可以轻松地将其全部放在一两个中,然后链接将不会是一场噩梦......有大量的大型库实现了很多我没有考虑过的东西。mthink Libc!
  • 应该提到,对不起,代码不能压缩成更少的库,而是因为这些库将是用户编写的(嗯..开发人员)插件。我不是最擅长解释这一点,但主程序基本上是一个用于执行各种操作的插件的 API。

标签: iphone objective-c c jailbreak dylib


【解决方案1】:

一种基于 API 的可扩展程序。 (想想插件)

不确定是什么方式 - 插件通常必须动态引用 否则它们是-“编译器”-所以动态库是要走的路。

我有两个选择,将不断增长的代码保留在可执行文件中

实际上,在真正的插件架构中,如果这确实是您的目标,您不能将其保留在可执行文件中以允许人们动态加载插件。

其次 - 您如何考虑代码库并不是部署布局中固有的。 类是类层是层不管它是否在可执行文件中 或加载到框架或库中。你只是想不同而已。

(变得凌乱)或将其放在单独的动态库中。

如果您有插件类型的架构,您应该使用库或编译时框架。

现代应用程序进程加载大量库,一个插件类型的项目假设可能有数百个库,但您不知道任何时候会加载哪些库(相当少)。

充分利用库。

【讨论】:

  • +1。加载动态库很快,它是解决您问题的“正确选择”。 20 不是很多。
  • 这是保证。实际上,从我到目前为止所写的内容来看,它的表现非常好,所以这很好。感谢您的回答!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-20
  • 2011-07-07
相关资源
最近更新 更多