基于VS 2013动态链接的制作与测试(转载)

转载于(24条消息) 基于VS 2013动态链接的制作与测试(适用初学者)_Bob_In_Bit的博客-CSDN博客

一、创建动态链接库文件


1、打开VS2013,选择文件,新建工程 

2、选择新建W32控制台应用程序,这里将工程名改为makeDLL 

3、在应用程序类型中选择DLL,点击完成 

4、完成以上步骤后,项目中会生成下列文件 

5、下面创建自己编写的函数,以简单的求和函数add为例,首先在添加头文件createdll.h,createdll.h中的代码如下:

#ifndef CREARDLL_H_

#define CREARDLL_H_

_declspec(dllexport) int add(int x, int y);/*_declspec(dllexport)声明一个导出函数,是说这个函数要从本DLL导出,我要给别人用。*/

int add(int x, int y);  //求和函数

#endif

6、添加createdll.cpp文件,里面是对add函数的具体定义,如下所示

#include"stdafx.h"  //注意不要忘了添加这个头文件

#include"creatdll.h"

#include<iostream>

int add(int x, int y)

{

    return x + y;

}

7、最终项目中所有文件如下: 

8、选择生成解决方案,即可在项目中生成exe文件的Debug文件夹中得到makeDLL.dll和makeDLL.lib两个文件。 

对于生成的lib文件有如下解释: 
如果有 dll 文件, 那么 lib 一般是一些索引信息, 记录了dll 中函数的入口和位置, dll 中是函数的具体内容;如果只有 lib 文件,那么这个 lib 文件是静态编译出来 的,索引和实现都在其中。使用静态编译的 lib 文件,在运行程序时不需要再挂 动态库,缺点是导致应用程序比较大,而且失去了动态库的灵活性。

二、使用动态链接库文件
1、新建一个空项目,命名为testDLL,将上面生成的makeDLL.lib文件放到项目的存放代码的路径下,makeDLL.dll放到项目中生成exe文件的Debug文件夹中。

2、在项目中添加程序testdll.cpp,代码如下:

#include<iostream>

#pragma comment(lib,"makeDLL.lib")

_declspec(dllimport) int add(int x, int y); //_declspec(dllimport)声明一个导入函数,是说这个函数是从别的DLL导入,我要用。

int main()

{

    std::cout << "2 + 3 = " << add(2, 3) << std::endl;

    std::cin.get();

    return0;

}

3、完成以上步骤即可看到输出结果如下,说明testDLL项目成功调用了makeDLL.dll里的求和函数add。 
————————————————
版权声明:本文为CSDN博主「Bob_In_Bit」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_36761349/article/details/79876745

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值