gpt4 book ai didi

c++ - 找到关联的dll文件到__declspec(dllexport)

转载 作者:行者123 更新时间:2023-11-30 05:35:51 26 4
gpt4 key购买 nike

我得到了这个庞大的项目,其中包含许多在 dll 文件中定义的类。我需要提取该项目的一部分并从该部分创建一个新项目。我已经设法通过使用 Visual Studio 中的代码映射找到了一些 dll 文件,但有些类没有显示在那里。

#   ifdef FCBase
# define BaseExport __declspec(dllexport)
# else
# define BaseExport __declspec(dllimport)
# endif

class BaseExport Handled
{.
.
};

什么是指定哪些 dll 文件链接到什么?

最佳答案

指令 __declspec(dllexport) 表示使用此指令声明的任何内容都将从 DLL 导出,以用于链接到该 DLL 的其他应用程序。因此,在为将被编译成 DLL 的代码编写头文件时,函数声明和类定义都使用该指令进行修饰。另一方面,将使用这些函数和类的代码需要使用 __declspec(dllimport) 声明它们,以让链接器知道它们将从 DLL 导入。

这两个指令通常由单个宏替换,该宏根据项目设置解析为适当的值。这样,您可以在 DLL 实现文件和将使用此 DLL 的其他应用程序的实现文件中包含相同的 header 。例如,在您的情况下,DLL 项目将定义 FCBase,因此 BaseExport 将在预处理步骤中解析为 __declspec(dllexport)。这表明该项目是用于实现DLL的。没有定义 FCBase 的项目,这意味着该项目正在从 DLL 中导入函数和类。

关于c++ - 找到关联的dll文件到__declspec(dllexport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33755271/

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