转换32位.DEF文件到64位
-
25-09-2019 - |
题
在我的公司,我们用.def
文件来指定需要导出的符号。 (我希望我能使用更现代化的和自动化的技术,不幸的是,谁决定在八十年代住后面的家伙)。
手写一个.def
文件,使用手动复制粘贴是无聊且容易出错的,但到目前为止我可以忍受。
然而,我需要写为64位版本的DLL类似.def
文件。几个功能的名称装饰改变,我不知道是否有产生用于从32位版本的64位版本.def
文件的一种方法。
您知道的任何工具,可以帮助我吗?这甚至现实吗?我真的不觉得我要亲手做一个更多的时间。任何解决方案,甚至是一个涉及编码我自己的工具,是值得欢迎的。
感谢您。
解决方案
我可能会__declspec(dllexport)的我想要的符号,编译,然后运行DUMPBIN对得到的DLL /出口得到错位的名称,然后你可以删除__declspec并作出DEF文件。
其他提示
告诉你的老板回到了80个年代。说真的,这不是一个可移植的方式出口的符号名。如果C ++编译器更名重整方案?然后,你就必须做到这一点(什么jcopenha说)一遍。如果当它发生了,你不工作呢?是另一个可怜的人将不得不花费宝贵的时间来找出什么和怎么做呢?我会尽力说服老板使用__declspec(dllexport)
。现在可以节省时间,并有可能在未来的时间。
我假设你正在导出类和重载函数。如果你不是,那么我会导出功能与C名字来代替。这些名称不错位,也不会改变。
不隶属于 StackOverflow