1
5
64位Windows包括32位via wow。任何32位应用程序都应该继续工作。 (只有司机 有 以匹配操作系统的位。) [注释:任何类型的插件都不是单独的应用程序,而是其他需要匹配主机的应用程序所使用的DLL。在这种情况下,如果64位扩展与32位主机不兼容,您也会遇到同样的问题。] |
2
4
正如Richard所说,32位版本应该继续工作,除非你有一个驱动程序、一个shell扩展或其他东西。 但是,如果您确实需要升级代码,您也需要升级编译器:我认为在VS2005或更高版本之前,MFC没有很好的64位支持。我建议您在VS2010中获得32位代码构建-这将 不 简单点-然后开始考虑将其转换为64位。当然,您可以在VC6中保留32位版本的产品,但随后又增加了维护人员的负担。 通过将编译器翻转到64位并打开完整的警告,您可能会获得大部分转换方法——特别是考虑到代码的大小,可能无法对其进行全面检查。需要注意的一件事是,指针存储在整数、双字等中,现在可能太短而无法容纳指针-现在需要双字指针等-但我认为警告确实能抓住这一点。 或者,如果这在许多组件中,那么您可能只需要将几个组件迁移到64位就可以了。然后,不幸的是,两个版本之间的通信存在数据长度问题。 |
3
2
你
必须
转换为较新的编译器。时间限制是不相关的。VC6编译器无法生成64位代码。它生成的每个指针对于初学者来说都是32位。如果需要访问“64位内存”,即上面的内存
|
4
1
如果您不想把您的IDE改成本质上支持64位编译和调试的IDE,那么您的工作就变得不必要的复杂了。你确定它不值得被打吗? |
5
0
只在64位操作系统上运行,您不需要做任何更改。这就是ww64的目的。 但是,如果您希望以本机方式运行64位(即访问64位内存空间),则必须编译为64位。这意味着使用支持64位的IDE。这是不可能的。 如果用合适的编码标准编写的程序(主要是不假设指针的大小,如int指针转换),那么大多数程序转换为64位应该没有问题。你会得到很多关于std::size\t转换的警告,但是这些警告毫无意义。 |
user3732361 · 读取大文件时如何选择块大小? 6 年前 |
Sector · 将参数传递给自己的execv内核实现 6 年前 |
Arka Pal · 关闭管道中未使用的端部 6 年前 |
Nat · 释放malloc内存时程序停止工作 6 年前 |
Mengfan Ma · 作者所说的操作系统中的目录结构是什么意思? 6 年前 |
Mengfan Ma · 在何处执行磁盘调度 6 年前 |