VS2010中创建DLL和(静态)调用DLL
来源:互联网 发布:乌克兰少年 知乎 编辑:程序博客网 时间:2024/06/04 20:04
[本文参考]http://www.th7.cn/Program/cp/201211/113060.shtml
创建DLL
新建indows ConsoleApplication,在“应用程序类型”选项中选择DLL,在“附加选项”中选择空项目,项目名称为CreateDll(自己定义),添加CreateDll.h和CreateDLl.cpp两个文件
/**********************************************/ /*FileName:CreateDll.cpp */ /**********************************************/ #define DllDemoAPI _declspec(dllexport) #include "CreateDll.h" #include <stdio.h> DllDemoAPI int add(int a, int b){return a+b;}DllDemoAPI int subtract(int a, int b){ return a-b;}DllDemoAPI int multiple(int a, int b){return a*b;}DllDemoAPI void Point::Print(int x,int y){printf("x=%d,y=%d",x,y);}
其中关键字_declspec(dllexport)用于导出函数,供其它调用该dll的程序使用
/**********************************************/ /*FileName:CreateDll.h */ /**********************************************/ #ifdef DllDemoAPI #else #define DllDemoAPI _declspec(dllimport) #endif DllDemoAPI int add(int a, int b);DllDemoAPI int subtract(int a, int b);DllDemoAPI int multiple(int a, int b);class DllDemoAPI Point{ public: void Print(int x, int y);};
编译生成DLL文件,这时会在解决方案的Debug文件夹下发现生成的CreateDll.dll和CreateDll.lib文件。
调用DLL
新建Windows ConsoleApplication,在“附加选项”中选择空项目,右键项目-》属性-》链接-》输入-》附加依赖项目处添加附加依赖性CreateDll.lib,(注意:先把CreateDll项目中生成的CreateDll.dll和CreateDll.lib两个文件拷贝到本项目的目录下,不是解决方案目录下),添加InvokeDll.cpp文件,内容如下/**********************************************/ /*FileName:InvokeDll.cpp */ /**********************************************/#include <stdio.h> #include <Windows.h> #include "CreateDll.h" //注意把生成DLL项目中的CreatDll.h拷贝到本项目目录下,不是解决方案目录下 int main(int argc, char* argv[]) { /*加载dll函数调用方式为默认调用方式*/ printf("5+3=%d\n",add(5,3)); Point p; p.Print(5,3); getchar();return 0; }
另外一种方式,可以不在在“附加选项”中选择空项目,右键项目-》属性-》链接-》输入-》附加依赖项目处添加附加依赖性CreateDll.lib,而在InvokeDll.cpp程序中的开始部分加入“#pragma comment(lib, "CreateDll.lib") ”,其效用与前者相同。
总结:对于静态调用DLL,需要在调用的DLL的项目中添加当初创建DLL的CreateDll.h文件,若不添加,对你调用的DLL中的函数进行声明也可。
0 0
- VS2010中创建DLL和(静态)调用DLL
- VS2010中创建DLL和(静态)调用DLL
- VS2010中创建DLL和(动态)调用DLL
- vs2010中静态调用dll
- 静态dll和动态dll(创建、区别、调用方式)
- VS2010, VS2013 创建和调用 DLL
- VS2010创建和显式调用dll
- VS2010中创建DLL
- VS2010创建DLL和使用DLL
- vs2010 中创建扩展dll
- VS2010中 C++创建DLL
- dll创建和调用
- dll创建和调用
- DLL创建和调用
- VS 2015 DLL的创建、静态调用和动态调用
- BCB中DLL的创建和调用
- VS2010 C++创建、调用DLL图解
- VS2010 C++创建、调用DLL图解
- 如何提升信息覆盖面?
- COM学习:引用计数
- 中断、软中断、信号
- List.Contains实现对比
- iOS开发证书申请流程
- VS2010中创建DLL和(静态)调用DLL
- linux编程实践2(实现more命令)
- db2连接问题
- 简简单单实践ERD Commander2005破解Windows密码
- linux scp命令 遇到有端口情况
- andorid 报错bindertransation
- 设置 Oracle 监听器密码(LISTENER)
- matlab如何产生不重复的随机数(转)
- Linux PPP详细介绍