64位的centos7 下编译32位的c/c++程序

本文详细介绍了在64位CentOS系统上设置32位编译环境的方法,包括安装32位库,通过gcc编译器添加-m32参数,修改makefile,以及验证生成程序类型的步骤。

32位的编译环境设置

  1. 编译32位的c/c++程序,必须需要 C 和 C++ 库(glibc 和 libstdc++)以及 GCC 库(libgcc)的 32 位版本,操作如下:
$ yum install libstdc++-*.i686
$ yum install glibc-*.i686
$ yum install libgcc.i686
  1. 如果用到了第三方的库,还需要安装32位的兼容库,以下两个操作可以解决大多数的32位程序依赖,如果不能解决就只能具体问题具体分析了
yum  install  xulrunner.i686
yum  install  ia32-libs.i686 glibc.i686 vim*

设置生成的程序版本

方法一:使用gcc编译时增加参数

32位版:加上 -m32 参数,生成32位的代码。
64位版:加上 -m64 参数,生成64位的代码。
debug版:加上 -g 参数,生成调试信息。
release版:加上 -static 参数,进行静态链接,使程序不再依赖动态库。加上 -O3 参数,进行最快速度优化。加上-DNDEBUG参数,定义NDEBUG宏,屏蔽断言。

方法二:修改makefile代码

在makefile文件中搜索字段CFLAGS,在CFLAGS字段后加 “-m32”。

CC=gcc
CFLAGS=-g -m32

其实,修改makefile代码和方法一是一个道理.

验证生成的程序是否是32位的

使用“file”命令

file xxx

xxx 表示查看的文件。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值