要在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。需要注意的是,导出类的成员函数必须是虚函数,以便正确处理类的内存和虚函数表。