类是使用Macro定义的。不知道MACRO DEBUG_API在这里有什么意义。 [我理解#define习惯了 打开或关闭一些特定的代码。]但是在代码下面我无法理解。任何解释将不胜感激
#define DEBUG_API
class DEBUG_API Cdebug
{
public:
/*
constructor, methods here.
*/
};
答案 0 :(得分:3)
定义此宏时,您可以选择将应用于该类的attributes。这些可以是标准或编译器特定的属性。
您的特定示例很可能是MSVC下DLL头的常用模式的实例。根据编译时开关,DEBUG_API
将设置为:
__declspec(dllexport)
,它将使MSVC生成一个包含类'thunk的.lib文件;将库编译为DLL时使用; __declspec(dllimport)
,它将使MSVC链接到上面生成的thunk;在与DLL链接时使用;