[开源世界]增强版的动态链接库接口导出框架
参考: 从自动导出动态链接库接口看C++的缺点 更新内容: 1.封装了gDllImportList变量,删除了DllImportAttribute.cpp文件。 2.封装了User32类的全局变量,删除了User32.cpp文件。 更新后的框架只需要一个 DllImportAttribute.h文件,导出函数的文件也只需要一个,减少了文件数量。 #pragma once #include <Windows.h> #include <list> using namespace std; /* * DllImportAttribute * 定义加载和卸载动态链接库的接口 */ class DllImportAttribute { public: // 加载动态链接库 virtual BOOL Init() = 0; // 卸载动态链接库 virtual BOOL Uninit() = 0; }; /* * DllImportList * 封装gDllImportList(全局)变量,避免使用cpp文件 */ class DllImportList { protected: static DllImportList* m_pInstance; public: static DllImportList* CreateInstance() { if (m_pInstance == NULL)