红联Linux门户
Linux帮助

32位与64位软件在编写上有什么区别

发布时间:2012-03-11 00:19:34来源:红联作者:九浮生
在软件编写的时候,32位与64位软件代码方面有哪些不同?
或者说通过改写哪些部分能够将32位软件移植到64位操作系统上,因为发现64位系统在运行32位软件的时候偶尔会出现问题
请各位大侠指点{:3_121:}
文章评论

共有 4 条评论

  1. circletiger 于 2012-03-13 19:20:16发表:

    听了似懂非懂。

  2. pl_014 于 2012-03-11 19:50:18发表:

    32位程序与64位程序主要的不同体现在变量及指针所占用的内存空间及其取值范围,具体的不同大多数人应该都知道。从这点上看,汇编语言的移植难度较大,C语言应当看程序如何进行编写,认真读过《C专家编程》《C陷阱与缺陷》《C和指针》的人会比较了解如何写高可移植性的程序,因为90年以前那时的计算机硬件平台和操作系统还没有形成垄断的局面,软件的生存期往往比想象的要长很多,再具体点,就是不要对C编译器的底层实现和用户的硬件特性作出过多的假设,比如说简单地使用移位进行乘除法,一般情况下,尽可能地只用C99标准明确提到的特性。
    另外,linux和unix下有一种工具叫lint,主要用来检测可能会出现的链接上的问题和不可移植问题,如果只用标准库的话,lint程序基本上是必备工具。

  3. alick 于 2012-03-11 11:51:53发表:

    参考下这里:http://coolshell.cn/articles/3512.html

  4. Action 于 2012-03-11 08:55:26发表:

    这个不懂,等答案