【问题标题】:Making Re-Usable Code制作可重用的代码
【发布时间】:2012-02-17 02:26:49
【问题描述】:

我已经用 C++ 编写了一个游戏引擎,但是我想将它打包到一个文件中,这样我就不必每次制作游戏时都重新编译它。我阅读了有关编写可重用代码并将其放入托管程序集或 .dll 的 MSDN 文章。但据我所知,.dll 是个坏主意,而且会让人头疼。我会进行托管程序集,但是按照 MSDN 文章中描述的方法,您将执行此操作,看起来他们希望您将所有内容放在一个类中或使用 CLR(或类似的东西)。在我的引擎中,我在不同的实例中采用了 C 方法,我不想为了打包而拆开引擎,另外我最终想让它跨平台,所以我也不想这样做“微软化”。所以我想问题是:有没有一个很好的替代 .dll 或托管程序集或我可以在不撕开我的代码的情况下使用的东西?

P.s 我只会使用 .lib(静态库),但我相信它需要 .dll 才能运行。

信息:

  • 语言:C++。
  • 编译器、IDE、链接器等:Microsoft Visual C++ 2008。
  • 平台、操作系统等:Windows 7。
  • 应用中使用的库:SFML 1.6、Luabind、Lua C API。

来源:

【问题讨论】:

    标签: dll managed code-reuse


    【解决方案1】:

    静态库 (.lib) 是最自然的懒惰选择。您将使用编译器对其进行一次编译,然后链接到程序的其余部分。如果您更改程序,而不是引擎/库,则无需重新编译后者。当然,除非它们兼容,否则您需要使用您使用的每个编译器和每个操作系统来编译该库。

    【讨论】:

    • 所以我不需要 .dll 来使用静态库?
    • 我看不出你会如何或为什么会这样做。
    • 谢谢你的回答很有帮助:-)
    猜你喜欢
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多