linux64位平台移植

2021-05-25 00:32:32 字數 1059 閱讀 2205

linux64

,最大好處就是記憶體不在有

4gb的限制(32位

linux

只有4g

的虛擬位址定址空間,可以克服這個限制,但是實現起來會比較複雜,得不償失)。

資料模型

ilp32

lp64

llp64

ilp64

char 8

8 88

short 16

16 16

16int 32

32 32

64long 32

64 32

64long long 64

64 64

64 指標

32 64

64 64

linux64

位,使用

lp64

標準,做**移植時需要注意一些地方。

struct

或者union

的大小,會隨著公升級到

64位系統,發生改變,特別是邊界對齊。原來

32位的資料型別,在

64位系統上,也許會需要補齊

64位;

需要特別注意的地方總結了一下,大概下面幾點: 1.

特別注意改變了大小的資料型別:

long

,指標;

2.不能像

32位系統上,用

int來儲存指標;

3.數字常量,需要做改變,比方說

0xffffffff在32

位機器上如果是

long為-1

,但是在

64位會被當成是乙個正數,這個需要特殊考慮;

4.為了更好的**移植性,有些型別盡量使用

linux

定義好的平台無關的型別,如

size_t

,ptrdiff_t

,intptr_t;

5.printf

列印指標的引數格式應該為%p(

32位上

%x也可以)。

64位平台簡介

目前最流行的兩種64bit微處理器架構 ia 64 intel 64 ia 64 由intel和hewlett packard公司聯合開發,被使用在 itanium和 itanium 2微處理器之上。intel 64 又稱em64t amd64 ia 32e x86 64 aa 64 x64 ham...

64位平台轉32位平台總結

一般都是32位平台轉到64位平台,可是我們剛好相。我們公司最近做的分布式檔案系統,以前是在 64位平台下 以為現在的伺服器很少有 32位平台,也就沒有過多的考慮,現在由於客戶需要,不得不修改至 32位平台。現在總結如下,共大家學習。1 資料型別的定義 一般我們都用 typedef 定義資料型別 ty...

linux 64位下的 mongodb 安裝

wget tar zxvfmongodb linux x86 64 2.0.4.tgz mv mongodb linux x86 64 2.0.4.tgz mongodb2.0.4 為了方便,把它從命名的更加簡潔些 建立mongodb存放的資料檔案 日子檔案 mongodb db mongodb l...