日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

64ubuntu编译32位程序

發布時間:2023/12/15 Ubuntu 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 64ubuntu编译32位程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天做實驗,64位ubuntu,sizeof指針得到8

想編譯成32位程序

百度

需要安裝32位庫,已經安裝了 libc6 libc6-dev

報錯fatal error: sys/cdefs.h: No such file or directory

需要

sudo apt-get install libc6-dev-i386

然后再編譯

ning@ubuntu:~/Documents$ gcc sizeof.c -m32 sizeof.c: In function ‘main’: sizeof.c:10:11: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘unsigned int’ [-Wformat=]printf("sizeof(p)=%ld\n",sizeof(p));^ ning@ubuntu:~/Documents$ gcc sizeof.c -m32 ning@ubuntu:~/Documents$ ./a.out sizeof(p)=4 ning@ubuntu:~/Documents$ gcc sizeof.c sizeof.c: In function ‘main’: sizeof.c:10:11: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]printf("sizeof(p)=%d\n",sizeof(p));

程序運行平臺
??????不同的平臺上對不同數據類型分配的字節數是不同的。
??????個人對平臺的理解是CPU+OS+Compiler,是因為:?
??????1、64位機器也可以裝32位系統(x64裝XP);?
??????2、32位機器上可以有16/32位的編譯器(XP上有tc是16位的,其他常見的是32位的);?
??????3、即使是32位的編譯器也可以弄出64位的integer來(int64)。?
??????以上這些是基于常見的wintel平臺,加上我們可能很少機會接觸的其它平臺(其它的CPU和OS),所以個人認為所謂平臺的概念是三者的組合。?
??????雖然三者的長度可以不一樣,但顯然相互配合(即長度相等,32位的CPU+32位的OS+32位的Compiler)發揮的能量最大。?
??????理論上來講 我覺得數據類型的字節數應該是由CPU決定的,但是實際上主要由編譯器決定(占多少位由編譯器在編譯期間說了算)。

常用數據類型對應字節數
??可用如sizeof(char),sizeof(char*)等得出

?32位編譯器:

??????char :1個字節
??????char*(即指針變量): 4個字節(32位的尋址空間是2^32, 即32個bit,也就是4個字節。同理64位編譯器)
??????short int : 2個字節
??????int:? 4個字節
??????unsigned int : 4個字節
??????float:? 4個字節
??????double:?? 8個字節
??????long:?? 4個字節
??????long long:? 8個字節
??????unsigned long:? 4個字節

??64位編譯器:

??????char :1個字節
??????char*(即指針變量): 8個字節
??????short int : 2個字節
??????int:? 4個字節
??????unsigned int : 4個字節
??????float:? 4個字節
??????double:?? 8個字節
??????long:?? 8個字節
??????long long:? 8個字節
??????
unsigned long:? 8個字節


總結

以上是生活随笔為你收集整理的64ubuntu编译32位程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。