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 dll生成与调用方法

一、动态链接库简介 动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库 ,DLL不是可执行文件。动态链接提供了一种方...
  • u010769715
  • u010769715
  • 2015年05月30日 17:14
  • 519

vs2013创建和使用动态链接库

本文将创建一个简单的动态链接库,并编写一个应用台控制程序使用该动态链接库,并提出了与实现相关的几个问题,供初学者交流。 本文包含以下内容: 创建动态链接库项目 向动态链接库添加类 ...
  • qinzhenhua100
  • qinzhenhua100
  • 2017年03月19日 21:08
  • 586

VS2008动态链接库(DLL)的创建与导入

一、创建新的动态链接库(DLL)项目 从“File”菜单中,选择“New”,然后选择“Project…”。 如下图:在“项目类型”窗格中,选择“Visual C++”下的“Win32”。在...
  • hanghangde
  • hanghangde
  • 2016年04月11日 19:43
  • 1854

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

有些时候,我们想写自己的函数库以避免重复写代码,此文介绍如何使用Visual Studio编写自己的动态链接库。...
  • bendanban
  • bendanban
  • 2015年01月17日 19:51
  • 8615

visual studio 2013 中动态库(dll)的引用方法

1、隐式连接 1.1 在dll的代码中加入:__declspec(dllexport),代码如下: class __declspec(dllexport) CMyDllClass { public...
  • liaolianbing
  • liaolianbing
  • 2015年04月10日 11:02
  • 1789

VS2017动态链接库(.dll)的生成与使用

这里以VS2017为例子,讲解一下动态链接库(.dll)的生成与使用。 一、动态链接库(.dll)的生成 1、打开:“文件”-“新建”-“项目” 2、...
  • shuimanting520
  • shuimanting520
  • 2017年12月05日 07:55
  • 260

VC++ MFC DLL动态链接库编写详解

虽然能用DLL实现的功能都可以用COM来替代,但DLL的优点确实不少,它更容易创建。本文将讨论如何利用VC MFC来创建不同类型的DLL,以及如何使用他们。 一、DLL的不同类型     使用...
  • thanklife
  • thanklife
  • 2016年09月02日 16:01
  • 2644

Windows下的VC++动态链接库编程

VC++动态链接库编程 1、基础概念 1.1 链接库的概述 动态链接库DLL(DynamicLinkable Library),你可以简单的把它看成一种仓库,它提供给你一些可以直接拿来用的变量、...
  • inrgihc
  • inrgihc
  • 2015年10月20日 21:31
  • 1940

在Visual Studio中使用C++创建和使用DLL

什么是DLL(动态链接库)? DLL是一个包含可由多个程序同时使用的代码和数据的库。例如:在Windows操作系统中,Comdlg32 DLL执行与对话框有关的常见函数。因此,每个程序都可以使用该D...
  • thebirthgod
  • thebirthgod
  • 2015年03月11日 15:30
  • 1137

Windows 动态链接库 DLL 浅析

一、概念 DLL:Dynamic Link Library,即动态链接库,这种库包含了可由多个程序同时使用的代码和数据。 它是microsoft在windows操作系统中实现共享函数库概念的一种实现方...
  • heyabo
  • heyabo
  • 2013年03月26日 17:51
  • 27611
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Visual Studio 写自己的动态链接库(DLL)
举报原因:
原因补充:

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