
请教C++哪个函数能够得到进程中DLL的内存基址
2个回答
展开全部
#include "windows.h"
#include <iostream>
void main(){
typedef int(*pMax)(int a, int b);
typedef int(*pMin)(int a, int b);
typedef bool(*pcim2scada)(char* cimid, char** scada);
HINSTANCE HDLL;
HDLL=LoadLibrary(L"MyDll.dll");//加载动态链接库MyDll.dll文件;
pMax Max=(pMax)GetProcAddress(HDLL,"Max");
pMin Min=(pMin)GetProcAddress(HDLL,"Min");
pcim2scada cim2scada=(pcim2scada)GetProcAddress(HDLL,"cim2scada");
int a = Max(5, 12);
char cimId[] = "aaaaaa";
char * scadaId = "";
bool b = cim2scada(cimId, &scadaId);
printf("Max结果为%d",a);
printf("cimId:%s, scadaId:%s", cimId, scadaId);
FreeLibrary(HDLL);//卸载MyDll.dll文件;
}
#include <iostream>
void main(){
typedef int(*pMax)(int a, int b);
typedef int(*pMin)(int a, int b);
typedef bool(*pcim2scada)(char* cimid, char** scada);
HINSTANCE HDLL;
HDLL=LoadLibrary(L"MyDll.dll");//加载动态链接库MyDll.dll文件;
pMax Max=(pMax)GetProcAddress(HDLL,"Max");
pMin Min=(pMin)GetProcAddress(HDLL,"Min");
pcim2scada cim2scada=(pcim2scada)GetProcAddress(HDLL,"cim2scada");
int a = Max(5, 12);
char cimId[] = "aaaaaa";
char * scadaId = "";
bool b = cim2scada(cimId, &scadaId);
printf("Max结果为%d",a);
printf("cimId:%s, scadaId:%s", cimId, scadaId);
FreeLibrary(HDLL);//卸载MyDll.dll文件;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询