从32位移植到64位 [英] Porting from 32 bit to 64 bit

查看:84
本文介绍了从32位移植到64位的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hi CPs,



当我买笔记本电脑时,我犯了安装32位win7的错误,我在过去的6个月里一直在运行它。现在我在C:\驱动器中有很多数据,我想要移植到64位。我知道我必须备份并闪存驱动器并进行干净(自定义)安装。但是,无论如何我可以在新的64位软件上使用我的32位软件而无需从头开始下载所有内容吗?我真的需要一个解决方案,因为这个32位我错过了很多开发的东西。

Hi CPs,

When I bought my laptop I made the mistake of installing a 32-bit win7 and I've been running it for the last 6 months. Now I have a lot of data in C:\ drive and I want to port to 64 bit. I know I have to take a backup and flash the drive and do a clean(Custom) install. But is there anyway I can use my 32-bit software on the new 64-bit software without downloading everything from scratch? I really need a solution fast because of this 32-bit I'm missing out lot of developmental stuff.

推荐答案

'但是无论如何我可以使用我的32-新的64位软件上的位软件没有从头开始下载所有东西?'



- >如果问题是:我可以在新的64位操作系统上使用我已安装的应用程序而无需重新安装它们吗?,答案是否定的(最明显的原因是,在32位机器上,应用程序安装在C:\Program Files文件夹,而它们安装在64位机器上的C:\Program Files(x86)中。此外,许多应用程序使用注册表来存储它们的配置;如果你进行全新安装,你将丢失旧的注册表,从而阻止你的旧应用程序运行而无需从头开始重新安装它们。



- >如果问题是:我的32位应用程序在我的新64位机器上重新安装后仍然可以工作吗?,答案是肯定的。



祝你好运!
'But is there anyway I can use my 32-bit software on the new 64-bit software without downloading everything from scratch?'

-> if the question is: "Can I just use my already installed applications on my new 64 bits OS without reinstalling them?", the answer is NO (the most obvious reason for that is that, on 32 bits machines, applications are installed into the "C:\Program Files" folder, whereas they are installed into "C:\Program Files (x86)" on 64 bits machines. Moreover, many applications use the registry to store their configuration; if you do a clean install, you will loose the old registry, thus preventing your old applications from running whithout reinstalling them from scratch.

-> if the question is: "Will my 32 bits applications still work after being reinstalled on my new 64 bits machine?", the answer is YES.

Good luck!


To回答这个问题,我将部分利用我对主题的有限知识,部分借鉴个人经验。





你应该能够运行mos你在64位Windows上的32位程序。当64位Windows遇到32位软件时,它会创建一个虚拟机来为其模拟32位环境,从而确保您可以毫无困难地运行现有软件。



但是,像.NET这样的框架会让事情变得复杂一些。程序员将编程代码编译成环境中立的代码,然后当程序执行时,它由JIT编译器编译成机器代码。如果您处于32位环境中,JIT编译器会选择将其编译为32位机器代码,如果您位于64位环境中,则选择将其编译为64位机器代码。这通常只是花花公子......但并非总是如此。假设您在.NET应用程序中使用了一些32位非托管库,并且您在64位计算机上运行应用程序。 JIT编译器将您的.NET代码编译为64位机器代码,但您的非托管库是针对32位环境编译的。这种不匹配会导致应用程序崩溃。幸运的是,有一种方法可以解决这个问题:您可以将构建设置中的目标CPU设置为32位,从而使整个应用程序(包括非托管库)在Windows的32位虚拟机中执行。当然,你无法控制其他人如何构建他们的.NET应用程序,但你可以期望大多数人没有问题。



至于个人经验:当我从32位切换到64位,我已经积累了不少有用的实用程序。其中大多数在64位环境中与32位环境一样工作,对于大多数无法工作的环境,下载64位版本非常简单快捷。因此,我认为没有理由担心。



然而,如果有什么东西你不能没有,而你正试图让你的手64位版本,请确保在切换到64位之前获得正确的版本
To answer this question, I'll partially draw on my limited knowledge of the subject matter, and partially on personal experience.


You should be able to run most of you 32-bit programs on 64-bit Windows. When 64-bit Windows encounters 32-bit software, it creates a virtual machine to simulate a 32-bit environment for it, thereby ensuring that you can run your existing software without any hassles.

However, frameworks like .NET complicates things a bit. The programming code is compiled into environment-neutral code by the programmer, and then when the program is executed it is compiled into machine code by the JIT compiler. The JIT compiler chooses to compile it to 32-bit machine code if you are in a 32-bit environment or to 64-bit machine code if you are in a 64-bit environment. This usually works just dandy... but not always. Let's say you are using some 32-bit unmanaged libraries in your .NET application, and you run your application on a 64-bit computer. The JIT compiler compiles your .NET code to 64-bit machine code, but your unmanaged libraries are compiled for a 32-bit environment. This mismatch causes your application to crash. Fortunately, there is a way to deal with this: you can set the target CPU in your build settings to 32-bit, causing your entire application, including the unmanaged libraries, to be executed within Windows' 32-bit virtual machine. Naturally, you have no control over how other people build their .NET applications, but you can expect the majority to work without issues.

As for personal experience: When I switched over from 32-bit to 64-bit, I had already accumulated quite a few useful utilities. Most of these worked just as well in a 64-bit environment as in 32-bit, and for most of those that didn't work, it was easy and fast to download a 64-bit version. Therefore, I see no reason to be concerned.

However, if there is anything that you cannot afford to be without while you're trying to get your hands on a 64-bit version, be sure to get the right version before you switch to 64-bit.


这篇关于从32位移植到64位的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆