通用功能的最佳方法

时间:2009-08-28 09:15:06

标签: c++ dll reusability

我已经构建了许多常用模块,这些模块一直保存在一个目录中,并从需要它们的项目目录中引用。

我想知道是否有更好的方法可以做到这一点?

公共模块和使用它们的代码都是用C ++编写的。

3 个答案:

答案 0 :(得分:3)

我建议创建一个静态库并与之链接。它比DLL简单得多,您不必担心版本控制,而且可以像使用常用模块一样使用它们。

编辑:基本上,静态库是目标文件的集合。如果您正在使用Visual Studio,则可以创建一个静态库项目(或更改项目的输出类型),该项目将创建一个可以在应用程序中链接的.lib文件。如果你正在使用GCC,你可以使用“ar”从一堆.o文件创建库文件,然后再将它链接到你的应用程序。

答案 1 :(得分:1)

管理和改进您的私有工具集对于程序员来说是一件重要的事情。 我个人总是采用“尽可能简单”的方法。

他们联系到我工作的速度越快,我就越早感到“在家”。 我甚至有时会抛弃所有的订单线并将它们放入默认库中并包含路径,并且在他们的服务中呐喊,他们在那里。 (当然不会真的推荐它,但它很容易)

我不知道你为什么使用dll,因为正常的lib会导致更少的头痛包括在内。

提示:从中创建一个单独的项目。 将它们放在中央逻辑位置。 (也许是myWorkspace / MyLibs) 由于您的工具集可能会随着您正在处理的每个项目而增长/改变/改进,因此我有时会设置我的工作环境以便能够快速切换,添加内容然后返回到原始项目。 在这种情况下,将它作为项目依赖项包含在IDE中是很有用的,可以自动构建然后重新链接。对于几乎所有IDE来说,这都是微不足道的。

然而,另一个问题是雇主。 他们通常对你带入项目的事情持谨慎态度。特别是如果你想关闭它们的来源。但这是另一个问题的故事;)

答案 2 :(得分:0)

我喜欢把它们放在一个dll中,这样我的可执行文件的大小就会减少。

相关问题