如何让32位编译的程序在64位系统中正常运行

 我来答
匿名用户
2017-03-24
展开全部
操作系统从32位步入64位,对于用户来说是质的飞跃。由于CPU读取数据宽度增加1倍,速度和精度都带来了跨跃。同时,CPU的读写方式的改变,对于程序员来说,需要适应跟进。虽然,64位系统支持32位程序,但是是有条件的,因为系统对CPU的操作有所变化,有的有32位上操作,就不能在64位在操作了。比如,软件通过调用底层,通过汇编读写数据的源程序,在32位上运行自如,在64位上就出现问题,执行出错。 在开发工具方面,基于Java、.NET的工具可以很顺利地支持64位平台。因为,它们不通过调用底层实现代码,而是基于.Net调用实施。对于Delphi来说,由于它是与操作系统紧密相关的,与它代码,最终实现“32位程序可以在64位系统正常运行”的目的。 下面步骤仅供参考: 1、对于涉及到ASM代码的单元进行修改,采用API取代; 2、对于一些引用的读写硬件的单元,多数采用ASM代码,取消引用该类单元; 3、尽可能不使用第三方控件。特别是,无源代码的第三方控件。(内含ASM代码) 4、修改后的读写硬件的单元,要分别在64位机器中,调试。主要验证: (1)可以运行(支持代码)。 (2)返回值32位与64位一致。 通过,上述代码改进。编译后的程序。在64位上正常运行。
爱哭不是宇
2017-03-24 · TA获得超过105个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:444万
展开全部
1、对于涉及到ASM代码的单元进行修改,采用API取代;
2、对于一些引用的读写硬件的单元,多数采用ASM代码,取消引用该类单元;
3、尽可能不使用第三方控件。特别是,无源代码的第三方控件。(内含ASM代码)
4、修改后的读写硬件的单元,要分别在64位机器中,调试。主要验证:
(1)可以运行(支持代码)。
(2)返回值32位与64位一致。
通过,上述代码改进。编译后的程序。在64位上正常运行。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式