从lib生成def

时间:2017-02-02 10:58:14

标签: visual-c++ dll

如果我已经有import library,有没有办法从中创建.def文件?这是你正常做事的倒退 - 通常是你create an import library from a .def file。有没有办法做相反的事情?

1 个答案:

答案 0 :(得分:0)

可能-Microsoft工具dumpbin /exports <lib file> 可以打印静态库中驻留的符号类型。

但是符号大多被弄乱了。

您可以使用其他python脚本过滤掉以确定要导出的内容和不导出的内容。

这对于功能非常有效,但目前不适用于数据。

这是一个示例存储库:

https://github.com/tapika/test_lib2def

可以为您演示其工作原理。

我猜想对于大型库建议使用这种方式导出,此后可以更改导出/不导出,而无需再次重新编译所有库。 (例如,可以基于名称空间或 其他属性)

如果您是从头开始开发库的,并且对要导出的内容和不导出的内容充满信心,那么使用普通的__declspec(dllimport|dllexport)会更容易,更好。