c++ - 将 32 位 .def 文件转换为 64 位

标签 c++ visual-c++ function name-decoration

在我的公司,我们使用 .def 文件来指定需要导出的符号。 (不幸的是,我希望我可以使用更现代和自动化的技术,那些决定生活在八十年代的人)。

手动编写 .def 文件,使用手动复制粘贴很无聊且容易出错,但到目前为止我可以忍受。

但是,我需要为 64 位版本的 DLL 编写一个类似的 .def 文件。几个函数的名称修饰发生了变化,我想知道是否有办法从 32 位版本生成 64 位版本的 .def 文件。

您知道有什么工具可以帮助我吗?这现实吗?我真的不想再手工做一次了。任何解决方案,即使是涉及编写我自己的工具的解决方案,都是受欢迎的。

谢谢。

最佳答案

我可能会 __declspec(dllexport) 我想要的符号,编译,然后在生成的 DLL 上运行 dumpbin/exports 以获取损坏的名称,然后您可以删除 __declspec 并创建一个 .def 文件。

关于c++ - 将 32 位 .def 文件转换为 64 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4605650/

相关文章:

c++ - operator= 在 C++ 中重载

c++ - 使用 constexpr initializer_list 构造函数时 MSVC 无法编译

c++ - 生成整数数组

function - clojure 函数循环依赖是设计明确禁止的,还是只是读者行为?

c++ - CRC32 C++ 实现使用 bool 数组并逐位手动异或

c++ - 将 AES 密文作为参数传递

javascript - 如何调用函数并传入变量?

javascript - 为什么这个函数不停止它的父函数?

c++ - 生成真正的随机数

c++ - 自动按下按钮?