64位Centos6 0上編譯32位程式

2021-06-07 23:51:00 字數 1102 閱讀 9319

1. 檢視當前系統的版本,確定當前系統是64系統

[root@zjh:~]# uname -r

2.6.32-5-amd64

2. 查詢編譯環境是否完備

確認下"development tools", "compatibility libraries" 這兩個元件有沒有安裝:

[root@zjh:~]# yum grouplist "development tools" "compatibility libraries"

3. 若2中查詢結果為未安裝,則需安裝上述工具

[root@zjh:~]# yum groupinstall "development tools"  

[root@zjh:~]# yum groupinstall "compatibility libraries"

4. 安裝 glibc-devel 的32位版

[root@zjh:~]# yum install glibc-devel.i686

5. 最後寫段**測試一下

/* test.c */  

#include int main()

64位編譯執行結果:

[root@zjh:~]# gcc test.c

[root@zjh:~]# ./a.out

sizeof long is 8

32位編譯執行結果:

[root@zjh:~]# gcc -m32 test.c

[root@zjh:~]# ./a.out

sizeof long is 4

在debian上測試方法同上,需要安裝的包為

apt-get install build-essential module-assistant  

apt-get install gcc-multilib g++-multilib

64位Ubuntu上編譯32位程式

1.確認主機為64位架構的核心,應該輸出為adm64,執行 dpkg print architecture 2.確認開啟了多支架功能,應該輸出為i386,執行 dpkg print foreign architectures 如果沒有,則需要手動開啟,依次執行 sudo dpkg add archi...

CentOS6 0下編譯最新版本boost庫

boost庫很強大,我用的比較多的庫就是boost shared ptr boost asio等。現在我寫的頁遊伺服器中大量使用了boost中的類和方法,但是由於系統本身自帶的boost版本比較老,所以需要自己手動編譯最新版本的boost。具體步驟如下 在這裡我們以boost1.53版本為例 3 進...

CentOS6 0下編譯最新版本boost庫

centos6.0下編譯最新版本boost庫 kiven.li boost庫很強大,我用的比較多的庫就是boost shared ptr boost asio等。現在我寫的頁遊伺服器中大量使用了boost中的類和方法,但是由於系統本身自帶的boost版本比較老,所以需要自己手動編譯最新版本的boos...