查看: 581|回复: 0

[C/C++] [DLL开发教程] 1.3编写一个DLL程序

[复制链接]

0

技术

9

魅力

1

原创

版主

禁止访问

Rank: 7Rank: 7Rank: 7

积分
7757
人气
176
分享
52

最佳新人活跃会员

发表于 2022-10-16 19:47:27 | 显示全部楼层 |阅读模式
本帖最后由 蒟蒻 于 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了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

本帖被以下淘专辑推荐:

小菜鸡一枚~
Gitee主页:https://gitee.com/juruoqwq
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表