Linux的32位应用程序移植到64位

Linux的32位应用程序移植到64位

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

问题描述

我即将端口超大规模的应用到64位,我注意到,在网上有一些物品演出这种移植了很多陷阱,我想知道是否有一个可以协助移植到64位的任何工具,这意味着在找到需要code的地方被改变....也许与warnnings海合会启用......是不是不够好?有什么好?

i'm about to port very large scale application to 64 Bits,i've noticed in that in the web there some articles which showsmany pitfalls of this porting ,i wondered if there is any tool which can assist in porting to 64 bit , meaningfinding the places in code that needs to be changed.... maybe the gcc with warnnings enabled... is it good enough ? is there anything better ?

编辑:大家好我搜索如果有的话,可能是一个完整的编译器工具,      我知道GCC可以ASIST,但我怀疑它会找到所有未移植的问题,
      将在运行时被发现....也许静态code分析工具,它强调      移植到64位?

Guys i am searching for a tool if any that might be a complete to the compiler, i know GCC can asist , but i doubt it will find all un portable problems that
will be discovered in run-time....maybe static code analysis tool that emphasize porting to 64 bits ?

感谢

推荐答案

一个很好的工具,叫做的grep ;-) DO

A good tool is called grep ;-) do

grep -nH -e '\<int\>\|\<short\>\|\<long\>' *

和通过适当的替换这些基本整数类型的所有裸露的用途:

and replace all bare uses of these basic integer types by the proper one:

  • 在数组的下标应为size_t
  • 指针类型转换应该是 uintptr_t形式
  • 在指针的差异应该是 prtdiff_t
  • 类型与宽度N的假设应 uintN_t
  • array indices should be size_t
  • pointer casts should be uintptr_t
  • pointer differences should beprtdiff_t
  • types with an assumption of width Nshould be uintN_t

等等,我可能忘记了一些。 然后 GCC 上会告诉你所有的警告。你也可以使用为编译器它提供了更多的诊断。

and so on, I probably forgot some. Then gcc with all warnings on will tell you. You could also use clang as a compiler it gives even more diagnostics.

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

08-06 19:27