C++调用C++生成的dll有大约4种方法,本人喜欢简单粗暴的,比较后选择如下的动态调用dll方法;
1.自己建立一个.dll文件
在默认的pch.cpp 中建立一个函数:
//pch.h文件建立如下函数:
#include "pch.h"
int Add(int a, int b) {
return a * b;
}
//pch.cpp文件中进行如下申明:
#ifndef PCH_H
#define PCH_H
#include "framework.h"
/*以下为申明*/
#define EXTERN _declspec(dllexport)
#ifdef __cplusplus
extern "C" {
#endif
EXTERN int Add(int a, int b);
#ifdef __cplusplus
}
#endif
/*以上为申明*/
#endif
然后VS快捷键 Ctrl+B 生成dll在Debug文件夹下,自己找找;
调用dll函数:
在另一个C++工程里:
#include <iostream>
#include <Windows.h>
using namespace std;
/*重点格式如下:*/
typedef int (*FunName)(int a, int b);//申明那个函数的类型;
HMODULE hm = LoadLibrary(L"../../SON/Debug/SON.dll");//找到对应dll;
int main()
{
if (hm != NULL) {
FunName Sd = (FunName)GetProcAddress(hm,"Add");
if(Sd != NULL) cout << Sd(100,22)<<endl;//如果可以找到这个函数的话就执行
}
}