有些时候,我们想写自己的函数库以避免重复写代码,此文介绍如何使用Visual Studio编写自己的动态链接库。
0,实验环境说明:
集成开发环境:Visual Studio 10.0
操作系统: Windows 7
语言: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
- #endif
- AB_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;
- }
然后按如下图所示配置。
生成-> Ctrl + F5执行!如下图所示执行结果: