有没有办法在Visual Studio中自动生成DLL的DEF文件?我以前只是手动创建它们,但是必须有一种更简单的方法。
答案 0 :(得分:5)
我在这里找到了一个为你生成.DEF文件的地方:expdef - def file generator
这很有效,并且除了函数和符号的方法名称之外,还有一个可以生成的选项列表。
答案 1 :(得分:1)
简单地说:编写适合您需求的脚本。我为一个人创建了一个小的Perl脚本来创建一个.def
文件来自一个现有的DLL,然后用它来创建一个导入库(.lib
)。
没有为您使用的读取工具的原因是因为所涉及的任何工具都无法猜测或以某种方式通过心灵感应确定要导出的函数或变量或常量或类以及名称。< / p>
您可能知道模块定义文件允许您更改内部名称在导出表中的显示方式,允许按顺序(而不是名称)或按名称和序号导出。当然,它们也允许多次导出函数(例如,由于遗留支持目的而导致的旧名称和更新的函数,因为它现在遵循一些约定。)
另见this question。您会注意到答案还涉及自定义脚本。在这种情况下,要求显然只是对任何和所有非静态函数的名称进行解码和导出。
答案 2 :(得分:0)
在此处查看演示项目的答案:
https://stackoverflow.com/a/64302521/2338477
我包含了从静态库生成.def文件的python脚本,但不幸的是,该脚本不适用于变量/数据。