如何创建一个包含所有函数和变量的.def文件



我有一个库,我想获得所有损坏的函数和变量名。我将把这些名称放在.def文件中,以便在另一个项目中导入它们。我使用Vs2019在c++中编程,如何获取.def文件的函数名?我有成千上万的函数和变量,我需要一个自动获取的过程

添加。dumpbin/archivemembers似乎不起作用,有可能在构建库后检索损坏的名称列表?那些名字在哪里?

此处回答:如何查看Windows库(*.lib(的内容

您可以在Developer命令提示符下运行以下任一命令:

dumpbin /archivemembers foo.lib

lib /list foo.lib

这将为您提供库中符号的完整列表。

然而,维护这个def文件是相当乏味的,并且导出所有符号可能是不可取的。我建议您考虑使用__declspec(dllexport)从DLL中选择性导出符号的替代方法。您可以定义一个宏,该宏在生成DLL本身时导出,在生成客户端代码时导入。通过以这种方式标记类和函数,每次构建时都会重新生成导出,并且没有单独的.def文件需要维护。

最新更新