Visual Studio 写自己的动态链接库(DLL)

转载 2015年11月17日 22:53:32

有些时候,我们想写自己的函数库以避免重复写代码,此文介绍如何使用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文件中添加如下内容:

  1. #ifndef __MY_DLL_H__  
  2. #define __MY_DLL_H__  
  3. #if (defined WIN32 || defined _WIN32 || defined WINCE) && defined MYDLL_EXPORTS  
  4. #  define AB_EXPORTS __declspec(dllexport)  
  5. #else  
  6. #  define AB_EXPORTS  
  7. #endif  
  8. AB_EXPORTS void func();  
  9. #endif  

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

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

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

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



2,测试自己编写的DLL

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

  1. #include "mydll.h"  
  2. #include <iostream>  
  3. using namespace std;  
  4. int main(){  
  5.   func();  
  6.   return 0;  
  7. }  


然后按如下图所示配置。







生成-> Ctrl + F5执行!如下图所示执行结果:



举报

相关文章推荐

【Visual Studio】使用 pexports 根据 VS 的 .dll 动态链接库生成 .lib 库文件

一、问题描述: 最近博主需要使用 8 路 USB 视频采集卡做二次开发,最后选择一款叫做“中维世纪”的 8 路 USB 视频采集卡 C301。但是,官网上仅提供了 1.0.0.4 版本的 SDK,使用...

Visual Studio下建立并隐式调用自己的动态链接库dll

Visual Studio下建立并隐式调用自己的动态链接库dll   转载▼ 在工程或科研中,我们经常要使用自己编写的函数库。比较直接的方法是,我们可以在每个工程中把相应的头文件和源代码...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Visual Studio下建立并隐式调用自己的动态链接库dll

在工程或科研中,我们经常要使用自己编写的函数库。比较直接的方法是,我们可以在每个工程中把相应的头文件和源代码文件增添进去(Project -> Add Existing Item),但这样比较麻烦。尤...

visual studio静态,动态链接库开发工具简单使用

这是2011年8月份做过的一点实验,查了MSDN等等很多资料,基本搞明白了。这里我不会使用visual studio的图形界面工具,作为专业人士,还是搞懂自己的工具是怎么运转的,这样比较好。 要使用...

Visual Studio 2008 创建dll 动态链接库

一、 1 在Visual C++ 里面选择Win32,新建一个Win32 Project工程,名称为mydll 2 在Application Settings窗口,Application ...
  • idulx
  • idulx
  • 2012-01-08 20:03
  • 495
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)