如何开发利用64位系统?

时间:2009-08-07 02:32:45

标签: 64-bit operating-system 32-bit 32bit-64bit

软件工程师/计算机科学的特定部门在开发64位系统时是否存在显着差异?我已经编写了大约10年的编码,自64位系统中断以来,我的代码没有改变一点。

单个编码器可以作为辅助项目编写哪些应用程序需要您使用64位技术?

4 个答案:

答案 0 :(得分:7)

任何需要4 GB以上工作和程序存储器的东西肯定都有资格,因为这是32位系统可以直接处理的最大内存量。

由于64位数字可以驻留在CPU寄存器中,因此需要这些大小数量的计算会提高性能。

答案 1 :(得分:2)

我们最近将一些内部使用的库移植到64位。 C代码根本没有改变;我们只需要获取我们链接的第三方库的64位版本,并找出我们需要使用的新编译器指令。最令人头痛的是找到64位版本的依赖项并重构我们的构建系统以处理32位和64位。

这并不是说其他​​软件不需要修改。例如,如果您打包数据以适应字边界,那么在为64位系统编程时,您现在可能倾向于采用不同的方式对其进行打包。

答案 2 :(得分:2)

除了地址空间或大型计算之外,将字数增加一倍会对低级别的内容产生更大的影响,并且主要针对那些将要进行内核黑客攻击或编写设备驱动程序的人。例如,假设您有一个来自网络连接的字节流,您必须处理它们。您现在可以一次将这些字节从主存储器中提取到CPU寄存器8而不是4.但我认为您需要一个“64位识别”字符串库来利用这一点。

有趣的是,我们确实观察到在同一硬件(64位计算机)上从32位SQL Server升级到64位SQL Server(2005)时性能提升。

答案 3 :(得分:0)

如果你需要问,你可能不会获得任何好处,因为你可能没有在你的代码中构建任何有关整数大小的假设。相当少的用例,并且所有相当低级别的用例都会看到任何加速。非常大数字的Bignums和重整数运算会更快(如加密)。