我正在读取一个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
{
};

10-02 02:45