我有一个库,我想获得所有损坏的函数和变量名。我将把这些名称放在.def文件中,以便在另一个项目中导入它们。我使用Vs2019在c++中编程,如何获取.def文件的函数名?我有成千上万的函数和变量,我需要一个自动获取的过程
添加。dumpbin/archivemembers似乎不起作用,有可能在构建库后检索损坏的名称列表?那些名字在哪里?
此处回答:如何查看Windows库(*.lib(的内容
您可以在Developer命令提示符下运行以下任一命令:
dumpbin /archivemembers foo.lib
或
lib /list foo.lib
这将为您提供库中符号的完整列表。
然而,维护这个def文件是相当乏味的,并且导出所有符号可能是不可取的。我建议您考虑使用__declspec(dllexport)
从DLL中选择性导出符号的替代方法。您可以定义一个宏,该宏在生成DLL本身时导出,在生成客户端代码时导入。通过以这种方式标记类和函数,每次构建时都会重新生成导出,并且没有单独的.def
文件需要维护。