⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dynapp.cpp

📁 动态加载C++类的演示,程序需要在调试状态运行,通过Debug输出,不错的学习例子
💻 CPP
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -