300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C++编写 生成 调用动态链接库

C++编写 生成 调用动态链接库

时间:2024-02-11 18:06:36

相关推荐

C++编写 生成 调用动态链接库

有些时候,我们想写自己的函数库以避免重复写代码,此文介绍如何使用Visual Studio编写,生成和调用自己的动态链接库。本文中采用隐式调用方式来调用动态链接库。

0,实验环境说明:

集成开发环境:Visual Studio 10.0

操作系统: Windows 10

语言:C/C++

1,编写自己的DLL

我们分两部分介绍如何完成编写生成自己的DLL库。

1.1,环境搭建

介绍如何使用Visual Studio建立一个DLL工程,以及额外的配置。

首先,建立一个dll的空工程,如下图所示:

添加两个文件,一个头文件(mydll.h),一个源文件(mydll.cpp),文件名根据自己的需要命名,这里并不需要写死文件名。

特别注意项目属性中是否存在类似如下图所示的内容,若无红框标记的宏,请添加合适的宏,例如MYDLL_EXPORT,一般以库形式建立的项目都会有类似的宏。

1.2,代码说明

向.h文件中添加如下内容:

#ifndef __MY_DLL_H__#define __MY_DLL_H__#if (defined WIN32 || defined _WIN32 || defined WINCE) && defined MYDLL_EXPORTS# define AB_EXPORTS __declspec(dllexport)#else# define AB_EXPORTS#endifAB_EXPORTS void func();#endif

上面的代码中,func就是我们自己定义的函数。

向.cpp文件中添加如下代码:

#include "mydll.h"#include <iostream>void func(){std::cout << "hello func \n";}

执行生成命令之后,在生成目录下回出现如下的内容:

2,测试自己编写的DLL

添加一个Win32 Consol Application空项目,向新项目中添加cpp代码文件,并加入如下代码:

#include "mydll.h"#include <iostream>using namespace std;int main(){func();return 0;}

然后按如下图所示配置。

这一步保证.h头文件可以被找到,保证编译的正常进行。

这两步是为了保证.lib文件可以被找到,保证了链接的正常进行。

然后便是build生成解决方案,这一步应该可以正常生成。

把两个项目放在同一个解决方案中就能够成功,因为两个项目生成的文件.exe,.dll都在项目的debug目录下, 若果不在同一个解决方案下,就需要手动复制.dll文件了

为了运行的成功,需要把mydll.dll文件复制到项目工作目录下(在VS中调试运行),或者放在项目的debug目录下(VS中调试运行以及生成的可执行文件.exe运行)。

Ctrl + F5执行!如下图所示执行结果:

总结

本文主要讨论了如何使用Visual Studio创建自己的dll,用例子阐述了这个过程,结果表明文中的方法可行。

为深入理解,请参考本博客的其他系列。

例子参考:/bendanban/article/details/42808027

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。