本帖最后由 蒟蒻 于 2022-10-16 19:47 编辑
【前言】
前面我们已经成功创建DLL程序了,今天,我们就要正式编程了
【编写函数/类】
这就不用我多说了吧,就像正常的程序一样,随随便便编写几个函数
例如我想做一个输出信息的DLL,那么就写几个output的函数
如果哦想做一个网络通信的DLL,那么就写几个套接字相关的函数
话不多说,写代码:
[C++] 纯文本查看 复制代码 void outPut(const char *info){
printf(info);
}
编译后,PE文件如下:
恭喜你,DLL完成了
当然没有,我问你个问题:
一般情况下,我们需要用以下代码引用DLL
[C++] 纯文本查看 复制代码 #pragma comment(lib,"xxx.lib")
这张图片里,根本就没有lib文件,试问你怎么引用这个DLL?
【导出函数】
这肥肠煎蛋,我们只需要使用以下关键字导出函数/类/数据
[C++] 纯文本查看 复制代码 _declspec(dllexport)
这并不是C/C++的关键字,而是VC++的关键字,只在visual studio生效
示例:
[C++] 纯文本查看 复制代码 _declspec(dllexport) int a;
_declspec(dllexport) class b{};
_declspec(dllexport) void c();
这时,我们的函数就变成了这样:
[C++] 纯文本查看 复制代码 _declspec(dllexport) void outPut(const char *info) {
printf(info);
}
再次编译,.lib文件就出现了,我们就能引用DLL了
|