我正在创建一个API,以便更容易使用C ++查找有关系统(CPU,GPU等)的规范。此API将使用GitHub进行分发。
在这种情况下,我应该使用哪种类型的库:静态还是DLL(动态)?另外,每个人的利弊是什么?
答案 0 :(得分:0)
这取决于一些事情,但与之前的评论一样,您可以将选择留给用户。
DLL更易于集成,因为用户只需要使用LoadLibrary()即可开始使用它。
DLL的问题在于,如果您编译它而不使用默认库作为静态,如果您不提供可再发行组件,则由于SxS问题,用户将感到沮丧。可能恰好发生SxS可能没有任何问题,但你永远不知道。
如果您提供lib文件,可能会有一些编译选项与您的文件冲突,除非您只使用vanilla选项。
总而言之,在一天结束时,两种选择都是可行的和类似的。仅取决于用户如何使用您的API。