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

这里以VS2017为例子,讲解一下动态链接库(.dll)的生成与使用。

一、动态链接库(.dll)的生成

1、打开:“文件”-“新建”-“项目”

5531a4a99c3cd68c86e9c8d7bc123722.png

2、打开:“已安装”-“模板”-“Visual C++”-“Win32”-“Win32 控制台应用程序”

把文件“名称”加上,为自己的工程名称;把“位置”加上,为自己的工程所在位置;

f7a34b9622eaabbe5add6c30b6806c6a.png

3、点击:“下一步”

60aa3e4d8cea4e3c62a09d9c2b86a753.png

4、选择“DLL”和“空项目”

然后点击“完成”

ec4ef196f7460d55dc1d62de5f71f5ca.png

5、右击“panny_dll”项目,点击“添加”,点击“新建项”

32743bac94f3a877e3527ae42f8dd035.png

6、点击“c++文件(.cpp)”,写上文件的“名称”为“panny_dll.cpp”

967af3c1c69fa29e3e15e73990488dbf.png

7、同样添加“panny_dll.h”

6c097d2f259c1458f368fbc92c462272.png

8、在“panny_dll.cpp”中添加程序如下

#include "panny_dll.h"

int panny(int i, int(*call_back)(int a, int b))

{

int aa;

aa = i*i;

call_back(i, aa);

return 0;

}

4cff4d4899c10f07a1c0d836ac9f28ee.png

9、在头文件“panny_dll.h”中添加如下代码

#pragma once

__declspec(dllexport) int panny(int i, int(*call_back)(int a, int b));

84f8f329561221a1a6489fa434f16d67.png

10、点击“生成”-“重新生成解决方案”

e76ca5571a6511442556c55448f750d8.png

11、如图,成功。

4d7cc7ca25cd63ae4cd9fd0f8ff4fa04.png

12、生成了.dll和.lib的文件

b1885a0670a6079cf0f40f6d90851d0f.png

二、使用.dll文件

1、新建项目

2f4f5fab5ee4c09b7e883b5763d2c352.png

2、如图,添加项目名称为“panny_dll_test”

33216e3758bba3e8d9f10a7c0d4311e9.png

3、点击“下一步”

957c346dd21cb65729382d17143294b0.png

4、选择“控制台应用程序”和“空项目”,然后点击“完成”

eca02d8cd0939182c7636f4cddff48a5.png

5、把“.dll”和“.lib”放到如图的文件夹里面

f62684fb7c197fccc5ce8a76b085ccd0.png

6、把“panny_dll.h”放到如图的文件夹里面

3519338feb8d82e0e566122aa796a1cd.png

7、添加一个新建项“panny_dll_test.cpp”,方法参考“一”中的“5和6”

8、在panny_dll_test.cpp文件夹里面添加如下代码

#include

#include "panny_dll.h"

int panny_call_back(int a, int b)

{

int c;

c = a + b;

printf("输出:%d\n", c);

return 11;

}

void main()

{

int p = 10;

int panny1;

panny1 = panny(p, panny_call_back);

printf("输出2:%d\n", panny1);

}

9、添加头文件“panny_dll.h”

551e6e33f3a7f42ad212eb806f2be1c1.png

10、添加"panny_dll.lib"到资源文件

ff5e38eca32adce442c6be7fed1c6c55.png

11、点击“重新生成解决方案”

29c1ee0c24b2a7037140ab6426fc9ea8.png

12、成功

33049d6caea099a668c1010e55477da0.png

13、执行如下

a27d7c24d92d083376fe9ee27ed27ba7.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值