C/C++动态链接库dll创建与调用
C/C++动态链接库dll创建与调用
LoSingSang 发表于3个月前
C/C++动态链接库dll创建与调用
  • 发表于 3个月前
  • 阅读 69
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

从上篇博文大家已经了解了静态链接库lib的使用方法,这篇将介绍动态链接库dll的创建和调用方法。

学习静态链接库lib传送门

那么我们开始吧!

以下实验为Visual C++ 6.0环境

1.如图设置,确定,一路默认

2.在.h和.cpp文件中添加如下图所示代码,代码为:

//MFC_dll.h
//声明导出函数,extern "C"_declspec(dllexport)  2017.11.19 14:08--LGL
extern "C"_declspec(dllexport) int add(int x,int y);
//MFC_dll.cpp
//实现导出函数,extern "C"_declspec(dllexport)  2017.11.19 14:08--LGL
extern "C" __declspec(dllexport) add(int x,int y){
	printf("123456:");
	return (x+y);
}
/*
	编译后在debug文件夹下的.dll和.lib,以及工程目录下的.h头文件,放到新的工程目录下
*/

3.编译,在debug文件夹下的.dll、.lib和工程目录下的.h文件是我们所需要的,以上动态链接库dll就创建完成了。

4.新建32控制台程序,创建.h和.cpp文件,把刚才的.dll、.lib和.h文件放到该控制台工程目录下。

5.在刚才创建.h和.cpp文件,输入如下图代码,代码为:

//test.h
#pragma comment(lib,"MFC_dll.lib")	//包含lib
extern "C" _declspec(dllimport) int add(int a,int b); //声明导入函数,extern "C" _declspec(dllimport)
//test.cpp
#include
#include "test.h"	//头文件

int main()
{
	printf("%d\n",add(10,3));	//直接调用

	getchar(); 
	return 0;
}

6.编译,运行,如下如

 

以上,就是动态链接库dll的创建与调用方法。需要注意的是,当.exe应用程序运行时无论是在debug还是release下,该程序目录下都需要有我们刚刚创建的.dll文件,否则出现如下图提示丢失.dll,下图为在发布版release模式下打开.exe文件:

此时,需要把工程目录下的.dll文件,复制到该.exe程序所在的目录下,这样运行才不会出错,如下图:

 

有关动态链接库的使用方法及注意事项就到这里。

测试文件打包:动态库dll测试

标签: 动态链接库 dll
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 2
博文 21
码字总数 3364
×
LoSingSang
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: