0
点赞
收藏
分享

微信扫一扫

C++ 载入dll


1.新建一个项目生成dll


首先我们新建一个项目生成一个Dynamic Library(动态链接库) dll


里面非常简单,只有一个add方法。等下我们就要在其他项目里尝试载入这个dll,调用里面的这个add方法。


// MyDLL.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"


extern "C"
{
_declspec(dllexport) int add(int x, int y);
}

int add(int x, int y){
return x + y;
}
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}


如果开始项目不是没有生成dll,记得打开项目的属性,选择Dynamic Library。

C++ 载入dll_下载地址


2.新建一个项目载入dll


// DLLTest.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <windows.h> //must include this

typedef int (*MyAdd)(int x, int y);
int main(int argc, char* argv[])
{
HMODULE hmod = NULL;

hmod = ::LoadLibrary("MyDLL.dll"); //load dll
if(hmod == NULL){
printf("load MyDLL.dll failed!");
return 0;
}

MyAdd Add = (MyAdd)GetProcAddress(hmod, "add");
if(!Add){
printf("get function failed!");
return 0;
}

printf("test add(): 1+2=%d\n", Add(1,2));
::FreeLibrary(hmod); // release resource

getchar();
return 0;
}


效果图:


C++ 载入dll_下载地址_02


成功调用!

项目下载地址:​​c++动态载入dll​​


举报

相关推荐

0 条评论