64位Centos6.0上编译32位程序

来源:互联网 发布:淘宝确认收货后换货 编辑:程序博客网 时间:2024/05/21 06:35

1. 查看当前系统的版本,确定当前系统是64系统

[root@zjh:~]# uname -r2.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.outsizeof long is 8

32位编译执行结果:
[root@zjh:~]# gcc -m32 test.c[root@zjh:~]# ./a.outsizeof long is 4


在debian上测试方法同上,需要安装的包为
apt-get install build-essential module-assistant  apt-get install gcc-multilib g++-multilib 



原创粉丝点击