使用模块定义文件(.def)导入DLL

问题描述 投票:0回答:1

我想创建并发布Windows C库。我已经阅读了两种方法,一种是在头文件中使用__declspec(dllexport)和__declspec(dllimport),另一种是使用模块定义文件(link)。我不想修改头文件,所以我选择了第二个文件并创建了库,我已经确认该库可以导出所需的符号。

现在,当我发货时:

  1. 头文件是否还需要在每个导出的函数前面都带有__declspec(dllimport),以便客户端可以使用它?
  2. 我需要将模块定义文件与dll一起交付,还是.lib文件足够?

我当然已经用一个玩具示例进行了测试,并且我相信我的两个问题的答案都为否,但是我想在有任何东西交付之前先与经验丰富的开发人员确认这一点。

我找到了this文章,但写得不好,我对此没有任何意义。

c dll dllimport dllexport
1个回答
0
投票

您可以仅向您的客户提供.h文件,.lib导入库和.dll文件本身。他们不需要.def文件。

如果我还记得,declspec导入功能允许链接程序进行较小的优化。关于导入表。待会儿我会查找并更新答案。

© www.soinside.com 2019 - 2024. All rights reserved.