0

我有一个 32 位 ATL C++ in-proc COM 服务器灵魂。如何将其移植到 64 位 Windows?我的意思是如何让 VC++7 发出 64 位代码?Visual Studio 2003 可以吗?

4

3 回答 3

2

您需要一个 64 位编译器,它将长编译为 64 位长。在 VS2005 中发布的版本就可以了。更高版本的 Visual C++ 和 Windows SDK 具有更高版本的编译器。在标准或更低版本的 Visual C++ 中禁用了 64 位支持,但在免费提供的 Windows SDK 中没有。英特尔等其他编译器提供商有自己的支持 Visual Studio 和 64 位的产品。

于 2009-11-02T20:03:05.743 回答
1

64 位支持是VS 2005 新增的,又名 VC++8

于 2009-11-02T14:03:04.230 回答
1

看看VSItanium。从描述:

Visual Studio .NET 2003 的 VSItanium 插件允许使用多个外部编译器编译 Win32 Visual C++ 项目,实际上是 Microsoft SDK 64 位 Itanium 和 AMD Opteron 编译器以及 Intel C++ Itanium 编译器。

关于编译器选择——如果由于依赖 cl 13(VS 2005 使用 cl 14)而不能迁移到较新的 VS 版本,您应该能够在 WDK 3790.1830、IIRC 中找到支持 IA-64 和 amd64 的 cl 13 . 应该有一个支持 64 位的 cl 13 的旧 SDK,但我不知道是哪一个。

如果您的项目使用较新的编译器构建良好,您基本上可以自由选择 WDK 和 SDK 版本。

于 2009-11-03T07:00:04.113 回答