ubuntu 11.10 在已有gcc 4.6情况下装 gcc3.4.6

在Ubuntu 11.10上,由于GCC 4.6的栈帧优化导致问题,博主选择安装GCC 3.4.6。通过下载deb包,处理依赖关系并强制安装,最后设置软链接使得GCC 3.4.6成为默认版本。过程中遇到双版本GCC导致的问题,需要调整crt1.o和libgcc_s.so的链接。
摘要由CSDN通过智能技术生成

初次小结,有错勿怪……

因为gcc 4.1之后的版本(http://www.cnblogs.com/napoleon_liu/archive/2011/02/14/1953983.html),对于栈帧中变量的分配进行优化,使得不再遵循先定义的变量高地址,后定义的低址地;而是从高地址向低地址依次为:后定义的数组、先定义的数组、后定义的变量、先定义的变量。

故此决定安装较老版本的gcc,这次经历也让我感到了linux下安装个东西实在是……#¥……#@#¥%


http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.3/

先下载gcc-3.4_3.4.6-6ubuntu5_i386.deb

然后用 sudo dpkg  -i xxx.deb命令安装

安装过程中,缺少什么依赖关系装什么


如果有相互依赖的关系,用sudo dpkg --force-depends -i xxx.deb命令安装


然后

ls /usr/bin/gcc* -ll

会看到两个版本的gcc

用 ln -sf /usr/bin/gcc-3.4 /usr/bin/gcc 命令将gcc3.4缺省gcc


然后随意写个helloworld

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值