您的位置 首页 > 数码极客

vs2010如何编译生成dll

写了三年的程序了,还不知道window下的Dll的相关项目,今天度娘了好多,特整理如下:

在 vs2015环境下测试通过!

1、创建

#ifndef TestDll_H_

#define TestDll_H_

#ifdef MYLIBDLL

#define MYLIBDLL extern "C" _declspec(dllimport)

#else

#define MYLIBDLL extern "C" _declspec(dllexport)

#endif

MYLIBDLL int Add(int plus1, int plus2);

//You can also write like this:

//extern "C" {

//_declspec(dllexport) int Add(int plus1, int plus2);

//};

#endif


#include ";

#include ""

#include <iostream>

using namespace std;

int Add(int plus1, int plus2)

{

int add_result = plus1 + plus2;

return add_result;

}

mydll.def (模块定义文件)

LIBRARY "MyDLL"

EXPORTS

Add @1

MyDLL.cpp会自动生成, 然后编译并生成

显示调用

新建一个控制台项目,将MyDLL.dll拷贝到当前目录下,在main函数里加如下代码:

typedef int(*PF_ADD)(int a,int b);

HINSTANCE hDLL;

hDLL = LoadLibrary("MyDLL.dll");//加载动态链接库MyDll.dll文件;

PF_ADD Add = (PF_ADD)GetProcAddress(hDLL,"Add");

int a;

a = Add(5 , 8);

std::cout<<"比较的结果为"<<a;

FreeLibrary(hDLL);//卸载MyDll.dll文件;

如果有报错,可能是: (1).unicode字节变为多字节 (2)."配置属性"-"调试"-"环境"里填入dll路径,默认是exe路径可不填。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“vs2010如何编译生成dll”边界阅读