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