您的位置:首页 > 编程语言 > C语言/C++

C/C++动态链接库dll创建与调用

2018-02-15 19:42 344 查看
从上篇博文大家已经了解了静态链接库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