gpt4 book ai didi

c++ - 导入 dll 函数的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-27 22:53:50 25 4
gpt4 key购买 nike

假设我的 dll 包含以下内容:

mydll.h

extern "C" void __declspec(dllexport) __stdcall f();

通常在我的应用程序中执行静态 dll 链接时,我只按原样包含 header ,但阅读了一些有关 dllexport 与 dllimport 规范的信息后,我想知道我的应用程序是否应该改用以下原型(prototype):

extern "C" void __declspec(dllimport) __stdcall f();

我正在为 dll 和应用程序使用 C++ Builder XE6。

那么,正确的做法是什么?

最佳答案

大多数图书馆使用预处理器为您做这件事。

它们包含 __declspec(dllimport/export) 的定义

#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)
#endif

void MYDLL_API __stdcaall f();

当库创建者构建 DLL 时,他们定义 MYDLL_EXPORTS 并导出函数,当客户端包含未定义的 header 时,他们将导入函数。

关于c++ - 导入 dll 函数的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35090097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com