2

我有一个旧的 VC++ 6 代码编译为 DLL,我使用了很多年没有问题,现在我需要在 x64 应用程序中使用它,我可以重新编译旧代码以生成 X64 DLL 吗?我需要相同的 VC++ 6 IDE 还是其他编译器?

4

1 回答 1

4

不幸的是,您的两个问题的答案都是:也许。

我很幸运为旧的 32 位 DLL 获取 VC++ 源代码并将其重新编译为 64 位。有时它是一个简单的重新编译。其他时候,必须进行微调。我最担心的是 32 位 DLL 是否依赖于您可能没有源代码的其他 32 位 DLL。在这种情况下,除非您拥有其他 DLL 的 64 位副本,否则您可能不走运。

现在,我从来没有尝试过用 VC++ 6 做到这一点。我用 Visual Studio 2010 做过。但是,Windows 平台 SDK 过去支持用 VC6 编译 64 位。我的理解是支持这个的 SDK 的最后一个版本是 2003 年 2 月的版本。我刚刚查看了 MSDN,但没有看到可供下载的内容。这并不意味着您无法获得一份副本(您可能已经拥有一份)。这确实意味着获取副本并不像访问 MSDN 并下载它那么容易。

现在,话虽如此,我的建议是使用更新的编译器来制作 64 位 DLL。假设 Windows,只要您安装了 64 位工具,所有最新的 Visual Studio 编译器(2008、2010、2012)都将执行 64 位。

于 2013-02-24T20:10:12.410 回答