由于我定期重用多个类和实用程序函数,因此我开始为这些部分创建静态库。
到目前为止,大多数具有类和函数声明的头文件#include "global" header file
本身#includes
其他头文件(如<string>
<windows.h>
等)。
对于我来说,当仅“主动”使用获得类的文件时,强制用户包含多个头文件会很烦人。
所以我击败了全局头文件,并将所有必要的标题包含在我自己的标题中。
这在某种程度上有效,但我遇到了一些与Winsock
:
您需要#define WIN32_LEAN_AND_MEAN
并确保用户在我的标题之前不会#include <windows.h>
,或者会发生多次重新定义:/。
这就是我想问你怎么做的原因?或者你能想到的是什么?
答案 0 :(得分:1)
我认为您只能选择定义所有其他头文件包含且定义WIN32_LEAN_AND_MEAN的通用头文件。
否则你可以指示用户在他自己的文件中包含这样的定义,但是他很容易出错。
关于<windows.h>
的加入,我认为它不会被多次包括,因为它有“包含警卫”。