转载:http://www.linuxidc.com/Linux/2017-01/139976.htm

如果还在使用较旧版本的Ubuntu,或者是Ubuntu LTS,那么我们是很难体验新版gcc的。怎么办呢?我们或许可以自己去编译用旧版本的gcc去编译新版本,但比较繁琐而且坑点较多。如果有现成的包就好啦!

原来,在toolchain/test下已经有打包好的gcc,版本有4.x、5.0、6.0等,用这个PPA升级gcc就可以啦!

首先添加ppa到库:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

sudo apt-get update

如果提示未安装,还需要先安装它的包:

 sudo apt-get install software-properties-common

默认在系统中安装的是gcc-4.8,但现在都什么年代了万一有奇怪的更新呢,可以先升级一下,接着就可以选择安装gcc-4.9、gcc-5之类的啦!(注意目前gcc-5实际上是5.3.0,没有5.1或5.2可供选择)

 sudo apt-get upgrade             //必选
sudo apt-get install gcc-4.8 g++-4.8
sudo apt-get install gcc-4.9 g++-4.9
sudo apt-get install gcc- g++-5 //选一个即可;

(非必须)现在可以考虑刷新一下,否则比如locate等命令,是找不到新版本文件所在目录的:

 sudo updatedb && sudo ldconfig
locate gcc

如果是阿里云ECS等做了限制的或者是其他奇怪的系统上,你会发现 gcc -v 显示出来的版本还是gcc-4.8的,因此需要更新一下链接:

对应之前选择更新的gcc版本进行更新链接:

gcc 4.8

  update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8  \
--slave /usr/bin/g++ g++ /usr/bin/g++-4.8 \
--slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-4.8 \
--slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-4.8 \
--slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-4.8
gcc 4.9
 1 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9  \
--slave /usr/bin/g++ g++ /usr/bin/g++-4.9 \
3 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-4.9 \
--slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-4.9 \
--slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-4.9

gcc 5

 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-  \
--slave /usr/bin/g++ g++ /usr/bin/g++- \
--slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar- \
--slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm- \
--slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-

更新链接不仅仅是为了使用新安装的gcc版本,更重要的是以后可以随时切换。上面的命令是分为3块,每块对应相应的gcc版本,并不是要一股脑全复制粘贴进控制台运行。要注意反斜杠(\)前要有空格,因为它只提供换行的功能。

于是到这里升级gcc版本就已经完成了。

 def claShannonEnt(setData):
lengthData = len(setData)
dicData = {}
for cnt in range(lengthData):
if setData[cnt,-] not in dicData.keys():
dicData[setData[cnt,-]] =
dicData[setData[cnt,-]] +=
Hent = 0.0#输出信息ent
for key in dicData.keys():
pData = float(dicData[key])/lengthData
Hent -= pData*math.log(pData,)
return Hent

gcc 4.8更新gcc 4.9 5.4版本等的更多相关文章

  1. ubuntu 14.04 更新 gcc/g++ 4.9.2

    ubuntu 14.04 更新 gcc/g++ 4.9.2 最近看到c++11非常的好用,尤其是自带了regex,于是稍微学了一下c++11的新特性.可是我在编译一个regex程序是却发现稍微复杂一点 ...

  2. Ubuntu 14.04 更新gcc版本至4.9.2

    参考: ubuntu 14.04 更新 gcc/g++ 4.9.2 Ubuntu 14.04 更新gcc版本至4.9.2 1.更新源,安装gcc v4.9.2 $ sudo add-apt-repos ...

  3. CentOS 6.2下更新GCC

    在centos中安装了QT5.1.0,发现无法启动,原因好像是GCC版本问题,所以就更新GCC. 1.下载GCC源码: 下载网址:http://ftp.gnu.org/gnu/gcc/gcc-4.8. ...

  4. ubuntu 16.04 更新 gcc/g++ 4.9.2

    ubuntu 转载 2016年10月12日 :: 标签:ubuntu /g++ /gcc [html] view plain copy sudo dpkg -l g++ 最近在学C++primer , ...

  5. Linux系统GCC常用命令和GCC编译过程描述

    前言: GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言.GCC 很快地扩展,变得可处理 C++.后来又 扩展能够支持更多编程语言,如Fortran. ...

  6. gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0

    从svn checkout svn://gcc.gnu.org/svn/gcc/trunk拿了GCC的最新代码,打算编译了学东西习学习C++ 11的东西,结果在configure的时候出现例如以下问题 ...

  7. Centos7升级gcc学习笔记 gcc 4.8.5 -> gcc 5.4.0

    摘自:https://www.cnblogs.com/highway-9/p/5628852.html 一.安装开发必备环境: yum groupinstall "Development T ...

  8. mac OS X 10.10更新gcc 4.9.1后默认无法编译连接的问题

    MAC OS X10.10升级前使用的低版本的gcc(好像是4.7.x),正常编译可以完成,不过会出现警告: couldn't understand kern.osversion `14.0.0' 网 ...

  9. arm 开发板更新 gcc/gcc++ | Debain 更新 gcc,无需编译直接更新 gcc

    4我的板子是 Orange pi 3,只能以 卧槽来形容... 我是搞.net core的,这板子死活搞不了. 刷的是Debain系统. 说实话,这个板子不错,可就是官方的系统实在不敢恭维,内核旧,软 ...

随机推荐

  1. 五、vue nextTick

    主线程的执行过程就是一个 tick,而所有的异步结果都是通过 "任务队列" 来调度被调度. 消息队列中存放的是一个个的任务(task). 规范中规定 task 分为两大类,分别是 ...

  2. 【bzoj3561】DZY Loves Math VI 莫比乌斯反演

    题目描述 给定正整数n,m.求   输入 一行两个整数n,m. 输出 一个整数,为答案模1000000007后的值. 样例输入 5 4 样例输出 424 题解 莫比乌斯反演 (为了方便,以下公式默认$ ...

  3. 决策树与随机森林Adaboost算法

    一. 决策树 决策树(Decision Tree)及其变种是另一类将输入空间分成不同的区域,每个区域有独立参数的算法.决策树分类算法是一种基于实例的归纳学习方法,它能从给定的无序的训练样本中,提炼出树 ...

  4. ACM-The Coco-Cola Store

    题目: Once upon a time, there is a special coco-cola store. If you return three empty bottles to the s ...

  5. Git的优点

    没有网络时也可以使用版本控制系统,这点svn做不到,如果你一直有网络,这个可以忽略: git由于所有版本都在本地的.git目录数据库中,因此它可以用指针随时改变指向,指向不同的版本,把它作为最新的he ...

  6. HDU 1711 Number Sequence---KMP原始

    #include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> #in ...

  7. POJ3668 Game of Lines

     Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6791   Accepted: 2523 Description Farm ...

  8. haskell处理JSON(aeson)

    aeson是haskell的一个库,其实我也不太懂,不过大概是这样的:   定义一个类型 如   data Person = Person { firstName :: String , lastNa ...

  9. 非常好!!!Linux源代码阅读——中断【转】

    Linux源代码阅读——中断 转自:http://home.ustc.edu.cn/~boj/courses/linux_kernel/2_int.html 目录 为什么要有中断 中断的作用 中断的处 ...

  10. POCO库中文编程参考指南(4)Poco::Net::IPAddress

    POCO库中文编程参考指南(4)Poco::Net::IPAddress 作者:柳大·Poechant 博客:Blog.CSDN.net/Poechant 邮箱:zhongchao.ustc#gmai ...