c++中DLL文件的编写与实现——三步走(2)

(本方法调用方需要.lib  .dll)

  (问的人多了) C++在调用Dll中的函数的时候,如果是企业内部的话,肯定是希望三件套的方式(.h\.lib\.dll)。这样做的话,编写方可以在头文件中写入很多信息,方便调用方的调用。但是,一旦是给其他公司的人使用,而不想让别人看到的话,那编写方肯定是不想让别人看到过多的信息的,你只管调用。

   还有一点是 dll是在调试的时候使用的,lib是编译的时候使用的,两者是不同时期使用的工具

如何操作
首先创建一个空的DLL文件,创建方法:新建——项目——Win32控制台程序——然后取个名字——确定——下一步——选择DLL——勾选空白项目。顺利新建了名字为Dll1的项目。项目中有这些东西(VS2017)

 

现在我们在Dll1.cpp中写点

#include "stdafx.h"
extern "C" _declspec(dllexport) int add(int a, int b) {

return a + b;
}
然后编译,不过注意平台的设置


尽量和调用方一致嗷,避免白给。

然后点击生成

在x64——deBug目录下 找到Dll1.dll和Dll1.lib。

 

Dll编写我们算是结束了 接下来需要重新新建一个Win32的控制台程序取名字为Test

然后在Test.cpp中加入以下代码:

#include "pch.h"
#include <iostream>
#include<Windows.h>
#pragma comment(lib,"Dll1.lib")

extern "C" __declspec(dllimport) int __stdcall add(int a,int b);
int main()
{
std::cout << add(1, 3);
std::cout << "Hello World!\n";
}
现在你编译的话,会提示你找不到Dll1.lib

因为你还没有加进来,右击项目——属性——VC++目录——库目录,添加Dll1.lib所在的位置。然后连接器——输入——附加依赖项中,加入Dll1.lib。

最后记得将Dll1.dll放到Test项目中的x64—degub目录下(EXE与Dll要在一个目录下因为)

最最后 点击调试

 

前面有一个4 看到没!!!懒得换行了

就是这样
————————————————
版权声明:本文为CSDN博主「windmeeeeee」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34097715/article/details/90060930

posted @ 2020-02-11 14:25  奋斗女战士  阅读(166)  评论(0编辑  收藏  举报