一:创建C++ DLL类库,名称:Dll1
1.Dll.h
_declspec(dllimport) int add(int a, int b);
2.Dll.cpp
// Dll.cpp : 定义 DLL 应用程序的导出函数。 // #include "stdafx.h" #include<iostream> //#include"Dll.h" using namespace std; extern "C" _declspec(dllexport) int add(int a, int b) { return (a+b); }
二:C++启动项目win32项目,名称:DynamicLoadDll
1.DynamicLoadDll.h
空白,没有写内容
2.DynamicLoadDll.cpp
// DynamicLoadDll.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "windows.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { HINSTANCE hInst; hInst=LoadLibrary("Dll.dll"); typedef int (*ADDPROC)(int a,int b); ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"add"); //ADDPROC Add=(ADDPROC)0x00011078; cout<<Add(5,4)<<endl; return 0; }
三:配置
1.想将dll文件copy到启动项目的debug中去。
2。按照下图中的红框来设置。我不明白我的为什么要在这里加引用,如果不加,它就会报错,解析不了,网上的都没有加,所以在这里碰到了很多的挫折。
3. 结果
在dos命令窗口出现5+4的结果 9