有没有办法在 Visual Studio 中为 DLL 自动生成 DEF 文件?我以前总是手动创建它们,但必须有一种更简单的方法。
问问题
15218 次
3 回答
5
我在这里找到了为您生成 .DEF 文件的地方:expdef - def 文件生成器
这很有效,并且除了函数和符号的方法名称之外,您还可以生成一个选项列表。
于 2013-08-02T15:49:50.477 回答
1
简单地说:编写一个适合您需求的脚本。我在某些地方创建了一个小的 Perl 脚本来从现有的 DLL创建一个.def
文件,然后使用该文件创建一个导入库 ( )。.lib
没有可以为您执行此操作的即用型工具的原因是,所涉及的工具都无法猜测或以某种方式通过心灵感应确定您要导出哪些函数或变量或常量或类以及以哪些名称导出。
如您所知,模块定义文件允许您更改内部名称在导出表中的显示方式,允许按序号(而不是名称)或按名称和序号导出。当然,它们还允许多次导出一个函数(例如,由于旧版支持目的而使用旧名称,而由于现在遵循某些约定而使用较新名称)。
另请参阅此问题。您会注意到答案还涉及自定义脚本。在这种情况下,要求显然只是对任何和所有非静态函数的名称进行解码和导出。
于 2012-05-17T00:13:16.653 回答
0
在此处查看演示项目的答案:
https://stackoverflow.com/a/64302521/2338477
我已经包含了 python 脚本来从静态库生成 .def 文件,但不幸的是这不适用于变量/数据。
于 2020-10-11T09:42:17.310 回答