如果我已经有import library,有没有办法从中创建.def
文件?这是你正常做事的倒退 - 通常是你create an import library from a .def
file。有没有办法做相反的事情?
答案 0 :(得分:0)
可能-Microsoft工具dumpbin /exports <lib file>
可以打印静态库中驻留的符号类型。
但是符号大多被弄乱了。
您可以使用其他python脚本过滤掉以确定要导出的内容和不导出的内容。
这对于功能非常有效,但目前不适用于数据。
这是一个示例存储库:
https://github.com/tapika/test_lib2def
可以为您演示其工作原理。
我猜想对于大型库建议使用这种方式导出,此后可以更改导出/不导出,而无需再次重新编译所有库。 (例如,可以基于名称空间或 其他属性)
如果您是从头开始开发库的,并且对要导出的内容和不导出的内容充满信心,那么使用普通的__declspec(dllimport|dllexport)
会更容易,更好。