dynapp.cpp
来自「动态加载C++类的演示,程序需要在调试状态运行,通过Debug输出,不错的学习例」· C++ 代码 · 共 51 行
CPP
51 行
#include <windows.h>
#include "dynclass.h"
int main ( void)
{
PFNCREATEMYCLASS pfnCreateMyClass = NULL;
PFNDELETEMYCLASS pfnDeleteMyClass = NULL;
PFNGETCLASSMETHOD pfnGetClassMethod = NULL;
PMYCLASSMETHOD pDoSomethingUseful = NULL;
CMyClass* pMyClass = NULL;
HANDLE hDll = INVALID_HANDLE_VALUE;
hDll = LoadLibrary ( "dynclass.dll");
if ( INVALID_HANDLE_VALUE == hDll)
return ( -1);
pfnCreateMyClass = ( PFNCREATEMYCLASS) GetProcAddress ( (HMODULE)hDll,
"CreateMyClass"
);
pfnDeleteMyClass = ( PFNDELETEMYCLASS) GetProcAddress ( (HMODULE)hDll,
"DeleteMyClass"
);
pfnGetClassMethod = ( PFNGETCLASSMETHOD) GetProcAddress ( (HMODULE)hDll,
"GetClassMethod"
);
if ( pfnDeleteMyClass
&& pfnCreateMyClass
&& pfnGetClassMethod
)
{
// et voila - an instance of CMyClass!
pMyClass = ( pfnCreateMyClass) ();
pDoSomethingUseful = ( pfnGetClassMethod ());
( pMyClass->*pDoSomethingUseful)();
( pfnDeleteMyClass ( pMyClass));
}
FreeLibrary ( (HMODULE)hDll);
return ( 0);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?