64位和32位編譯環境下不同資料型別長度的區別

2021-07-10 11:18:42 字數 689 閱讀 3215

關於64位和32位編譯環境下不同資料型別長度有以下幾條規則:

(1)char

型別一般是

8bit

,但ansi c

裡沒有硬性規定其長度,某些嵌入式編譯器可能是

16bit

(2)short

和long

型別的長度不相同

(3)int

型別通常同具體機器的物理字長相同

(4)short

通常是16bits, int

通常是16bits or 32bits

每種編譯器可以根據硬體的不同自

由確定,

但是short

和int

必須最少是

16bits,

而long

型別必須最少是

32bits,

並且short

必須比int

和long

型別要短。

型別64位32

位16位char11

1short22

2int44

2long84

4float44

4long long88

double88

long double

1612

char *

(指標)84

4

在64位與32位系統下不同型別區別

32位64位下各種資料型別大小的對比 1.基本資料型別大小的對比 關於資料型別的大小,總是記不住,這裡也算有個記錄,順便看一下32位和64位之間的差別 我寫了一小段測試 c test.cpp 定義控制台應用程式的入口點。include stdafx.h include include using n...

Kali 64位 安裝32位編譯執行環境

為了使在64位kali中使用gdb除錯32位程式,並且讓gcc和g 能夠使用 m32來編譯32位的程式,要進行一下操作。使用命令 vim etc apt sources.list 並改為以下內容 deb kali rolling main non free contrib 再執行以下命令 1.啟用相...

64位系統編譯32位程式

如上使用c4這個小工具時遇到來需要 32位系統的需求,發現使用 m32引數後,編譯提示錯誤,如下 usr bin ld 未知的 模式 32 支援的 elf x86 64 elf32 x86 64 elf i386 i386linux elf l1om elf k1om i386pep i386pe ...