Dll项目创建与调用-DLL文件
写了三年的程序了,还不知道window下的dll的相关项目,今天度娘了好多,特整理如下:
在 vs2015环境下测试通过!
1、创建
testdll.h
#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
testdll.cpp
#include "stdafx.h"
#include "testdll.h"
#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路径可不填。
相关内容
-
在wps中粘贴保留原格式化|wps中复制文件保留原
在wps中粘贴保留原格式化|wps中复制文件保留原有格式,格式化,...
-
金蝶迷你版如何增加核算项|金蝶如何加上会计科
金蝶迷你版如何增加核算项|金蝶如何加上会计科目的项目辅助...
-
什么是boot.ini文件错误ini的非法解决方案
什么是boot.ini文件错误ini的非法解决方案,,千奇百怪的电脑问...
-
鼠标不能拖动文件了
鼠标不能拖动文件了,鼠标,拖动,本文目录鼠标不能拖动文件了电...
-
Outlook的PST文件损坏的修复方法
Outlook的PST文件损坏的修复方法,文件, ...
-
金蝶旗舰版如何添加会计科目|金蝶如何加上会计
金蝶旗舰版如何添加会计科目|金蝶如何加上会计科目的项目辅...
-
电脑什么文件不能删除文件|电脑中哪些文件不能
电脑什么文件不能删除文件|电脑中哪些文件不能删除,,电脑中哪...
-
wps填充公式|WPS里快速填充调用公式
wps填充公式|WPS里快速填充调用公式,填充,公式,wps,1.WPS里怎...
-
电脑上怎样打文件|电脑上怎样打文件符号
电脑上怎样打文件|电脑上怎样打文件符号,,电脑上怎样打文件符...
-
将wps转为EX|把WPS文件转为excel表格
将wps转为EX|把WPS文件转为excel表格,转为,如何将,wps,1.怎么...
-
电脑字幕手机怎么载入|电脑字幕手机怎么载入文
电脑字幕手机怎么载入|电脑字幕手机怎么载入文件,,电脑字幕手...
-
远古VOD系统通过压力测试标准的网络视频点播项
远古VOD系统通过压力测试标准的网络视频点播项目,,近日,河北沧...
-
u盘看不到文件其他电脑可以看到|电脑里看不到u
u盘看不到文件其他电脑可以看到|电脑里看不到u盘,,1. 电脑里看...
-
联想笔记本电脑型号大全|联想笔记本电脑型号大
联想笔记本电脑型号大全|联想笔记本电脑型号大全目录,,1. 联想...
-
如何创建宽带连接(图形)
如何创建宽带连接(图形),,很多时候,由于计算机的使用不当,计算机网...