64位Centos6.0上編譯32位程序

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 <stdio.h>  
int main()  
{  
    printf("sizeof long is %d\n", sizeof(long));  
    return 0;  
}  
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 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章