我正在读取一个C++头文件,其中写入:
class CLASSEXPORT skExecutable : {.....}
评论说CLASSEXPORT是宏扩展,然后我找到CLASSEXPORT的定义位置。
#define CLASSEXPORT
仅此而已。.我对此感到困惑。.CLASSEXPORT在这个意义上代表什么?以及如何理解skExecutable类?
最佳答案
在您的情况下,CLASSEXPORT
扩展为任何内容(可能是因为不需要将其扩展为在您的确切配置中有意义的内容),因此您的类将只是class skExecutable {<...>};
。此方法通常用于导入/导出指令,例如在以下代码段中,根据是否定义了COMPILING_DLL
宏,将放置适当的指令:
#if COMPILING_DLL
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT __declspec(dllimport)
#endif
class DLLEXPORT MyClass
{
};