如果我正在创建API,我应该使用静态库还是DLL?

时间:2016-10-24 23:19:59

标签: c++

我正在创建一个API,以便更容易使用C ++查找有关系统(CPU,GPU等)的规范。此API将使用GitHub进行分发。

在这种情况下,我应该使用哪种类型的库:静态还是DLL(动态)?另外,每个人的利弊是什么?

1 个答案:

答案 0 :(得分:0)

这取决于一些事情,但与之前的评论一样,您可以将选择留给用户。

DLL更易于集成,因为用户只需要使用LoadLibrary()即可开始使用它。

DLL的问题在于,如果您编译它而不使用默认库作为静态,如果您不提供可再发行组件,则由于SxS问题,用户将感到沮丧。可能恰好发生SxS可能没有任何问题,但你永远不知道。

如果您提供lib文件,可能会有一些编译选项与您的文件冲突,除非您只使用vanilla选项。

总而言之,在一天结束时,两种选择都是可行的和类似的。仅取决于用户如何使用您的API。