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

Find the associated dll file to __declspec(dllexport)

我得到了这个庞大的项目,其中许多 类 在 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 的代码编写 header 文件时,函数声明和 class 定义将使用此指令进行修饰。另一方面,将使用这些函数和 classes 的代码需要用 __declspec(dllimport) 声明它们,以让链接器知道它们将从 DLL 中导入。

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