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);
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)
6.编译,运行,如下如
以上,就是动态链接库dll的创建与调用方法。需要注意的是,当.exe应用程序运行时无论是在debug还是release下,该程序目录下都需要有我们刚刚创建的.dll文件,否则出现如下图提示丢失.dll,下图为在发布版release模式下打开.exe文件:
此时,需要把工程目录下的.dll文件,复制到该.exe程序所在的目录下,这样运行才不会出错,如下图:
有关动态链接库的使用方法及注意事项就到这里。
测试文件打包:动态库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测试
相关文章推荐
- C/C++动态链接库dll创建与调用
- c++调用与创建动态链接库(dll)
- C++ dll 动态链接库的创建与调用
- java调用C/C++生成的dll动态链接库----借助JNI
- vs2010 C++创建和使用动态链接库(dll)
- VS2010 C++创建、调用DLL图解
- C++在VS下创建、调用dll
- 编写S-Function,创建Simulink模型并生成C++代码,编译生成可调用的动态库dll(From Simulink model to DLL A tutorial)
- 用C/C++编写与调用动态链接库(DLL)文件
- DLL模块:C++在VS下创建、调用dll
- C/C++/动态链接库DLL中函数的调用约定与名称修饰
- 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
- C/C++中动态链接库的创建和调用
- C#调用c++创建的dll
- C++在VS下创建、调用dll
- vs2008 C++创建和调用标准DLL
- SAS中调用动态链接库(C++,DLL)
- C#调用C/C++动态链接库(.dll)详解
- C/C++中动态链接库的创建和调用
- c++调用动态链接库DLL