就个人而言,我非常喜欢仅限标题的库,但有人声称它们会因为过度内联而导致代码膨胀(以及编译时间较长的另一个明显问题).
我在想,这些说法有多少真相(关于臃肿的说法)?
此外,成本是否合理?(显然有一些不可避免的情况,例如它是纯粹或大部分使用模板实现的库,但是我对实际可用的选项更感兴趣.)
我知道就这样的事情而言,没有严格的规则,准则等,但我只是想了解别人对这个问题的看法.
PS是的,这是一个非常模糊和主观的问题,我知道,因此我已将其标记为此类.
我有一个main.cpp包括啊(它有自己的a.cpp)啊包含头文件库"stbi_image.h"如下:
#ifndef STB_IMAGE_IMPLEMENTATION
#define STB_IMAGE_IMPLEMENTATION
#include "stb_image.h"
#endif
Run Code Online (Sandbox Code Playgroud)
(https://github.com/nothings/stb)
*.cpp包含自己的*.h,使用#pragma一次
但我仍然得到:
LNK1169发现一个或多个多重定义的符号LNK2005 stb-failure原因已在a.obj文件= main.obj中定义...以及其他一些符号
这似乎对我来说,但正如我在这个问题中所理解的: 多个定义和仅限标题的库
也许我应该在我需要的stb_image.h函数中添加内联/静态?难道我做错了什么?
提前致谢