要在C++中導出一個類作為DLL,需要使用__declspec(dllexport)
修飾類聲明。下面是一個示例:
// MyDll.h
#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)
#endif
class MYDLL_API MyClass
{
public:
void foo();
};
然后,在實現文件中需要定義MYDLL_EXPORTS
宏,以便在編譯時正確導出類:
// MyDll.cpp
#define MYDLL_EXPORTS
#include "MyDll.h"
void MyClass::foo()
{
// 實現類的方法
}
導出類后,可以在其他項目中使用該DLL。需要注意的是,導出類的成員函數必須是虛函數,以便正確處理類的內存和虛函數表。