Ubuntu 14.10,准备C/C++的编译环境
Ubuntu缺省情况下,并没有提供C/C++的编译环境,因此还需要手动安装。
如果单独安装gcc以及g++比较麻烦,幸运的是,为了能够编译Ubuntu的内核,Ubuntu提供了一个build-essential软件包。
查看该软件包的依赖关系,可以看到以下内容:
$ apt-cache depends build-essential
build-essential
依赖: libc6-dev
依赖:
libc6-dev
依赖: gcc
依赖: g++
依赖: make
依赖: dpkg-dev
也就是说,安装了该软件包,编译c/c++所需要的软件包也都会被安装。因此如果想在Ubuntu中编译c/c++程序,只需要安装该软件包就可以了。
安装方法如下:
$sudo apt-get install build-essential
Package: libc6.1-dev (2.11.3-4)
Embedded GNU C Library: Development Libraries and Header Files
Contains the symlinks, headers, and object files needed to compile and link programs which use the standard C library.
GCC(GNU Compiler Collection,GNU编译器套裝),是一套由GNU开发的编程語言编译器。它是一套以GPL及LGPL許可證所發行的自由軟體,也是GNU計畫的关键部分,亦是自由的类Unix及蘋果電腦Mac
OS X 操作系統的标准编译器。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。
GCC原名為GNU C語言編譯器(GNU C Compiler),因為它原本只能處理C語言。GCC很快地擴展,變得可處理C++。之後也變得可處理Fortran、Pascal、Objective-C、Java、Ada,以及Go與其他語言。
原本用C開發,後來因為LLVM,Clang的崛起令gcc更快將開發語言轉換為C++。GCC5.0將模仿競爭對手LLVM模組 化,大幅度的改變原本的架構。
GCC是由理查德·马修·斯托曼在1985年開始的。他首先擴增一個舊有的編譯器,使它能編譯C,這個編譯器一開始是以Pastel語言所寫的。Pastel是一個不可移植的Pascal語言特殊版,這個編譯器也只能編譯Pastel語言。為了讓自由軟體有一個編譯器,後來此編譯器由斯托曼和Len
Tower在1987年[1]以C語言重寫[2]並成為GNU專案的編譯器。GCC的建立者由自由軟體基金會直接管理[3]。
在1997年,一群不滿GCC緩慢且封閉的創作環境者,組織了一個名為EGCS《Experimental/Enhanced
GNU Compiler System》的專案,此專案彙整了數項實驗性的分支進入某個GCC專案的分支中。EGCS比起GCC的建構環境更有活力,且EGCS最終也在1999年四月成為GCC的官方版本。
GCC目前由世界各地不同的數個程式設計師小組維護。它是移植到中央處理器架構以及作業系統最多的編譯器。
由於GCC已成為GNU系統的官方編譯器(包括GNU/Linux家族),它也成為編譯與建立其他作業系統的主要編譯器,包括BSD家族、Mac
OS X、NeXTSTEP與BeOS。
GCC通常是跨平台軟體的編譯器首選。有別於一般侷限於特定系統與執行環境的編譯器,GCC在所有平台上都使用同一個前端處理程式,產生一樣的中介碼,因此此中介碼在各個其他平台上使用GCC編譯,有很大的機會可得到正確無誤的輸出程式。
以2011年10月26日釋出的4.6.2版為準,本編譯器版本可處理下列語言:
|
先前版本納入的CHILL前端由於缺乏維護而被廢棄。
Fortran前端在4.0版之前是G77,此前端僅支援Fortran 77。在本版本中,G77被廢棄而採用更新的GFortran,因為此前端支援Fortran
95。
下列前端依然存在:
[编辑]内嵌OpenMP支持
OpenMP是一种跨语言的对称多处理机(SMP)多线程并行程序的编程工具,也非常适合当今越来越流行的单CPU多核硬件环境,因此从gcc4.2开始,OpenMP成为其内嵌支持的并行编程规范,可以直接编译内嵌OpenMP语句的C/C++/Fortran95的源代码。gcc4.2之前如果想在C/C++/Fortran中嵌入OpenMP语句的话,需要额外安装库和预处理器才能识别和正确处理这些语句。
- gcc 4.2.0开始支持OpenMP v2.5
- gcc 4.4.0开始支持OpenMP v2.5及v3.0
GCC目前支援下列處理器架構(以4.1版為準):
較不知名的處理器架構也在官方釋出版本中支援:
由FSF個別維護的GCC處理器架構:
原文地址:http://blog.csdn.net/watkinsong/article/details/8435340
Ubuntu 14.10,准备C/C++的编译环境的更多相关文章
- Ubuntu 14.10 下安装java反编译工具 jd-gui
系统环境,Ubuntu 14.10 ,64位 1 下载JD-GUI,网址http://221.3.153.126/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/jd.benow.ca/ ...
- Ubuntu 14.04 配置安卓5.1编译环境
Ubuntu 14.04版本 电脑cpu必须是64位 硬盘分配大约100G的空间 1.ubuntu中更新源 $ sudo apt-get update 2.android5.1需要安装openjdk- ...
- Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)
Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这 ...
- Ubuntu 14.10 下ZooKeeper+Hadoop2.6.0+HBase1.0.0 的HA机群高可用配置
1 硬件环境 Ubuntu 14.10 64位 2 软件环境 openjdk-7-jdk hadoop 2.6.0 zookeeper-3.4.6 hbase-1.0.0 3 机群规划 3.1 zoo ...
- ubuntu 14.10 lts 64-bits环境下使用Android Studio
距离google发布android studio 1.0正式版已经两个月左右了.由于一直习惯使用eclipse+ADT的模式,而且曾在windows下试用一次Android Studio预览版,感觉卡 ...
- 在 Ubuntu 14.10 中借用 Windows 的字体
在前一篇随笔中,我详细讨论了字体的分类及用途,也以 Fedora 20 为例,展示了字体配置的思路和方法.我在配置 Fedora 20 系统字体的时候,采用的是一种釜底抽薪的方法,完全抛开了系统原有的 ...
- VMware Tools的简易安装---解决Ubuntu 14.10不能满屏显示问题
由于使用的VMware WorkStation是中文破解版,安装时又是简易安装,因此VMware Tools并没有安装上,导致Ubuntu 14.10在VMware中装上之后,并不能满屏显示,如图1所 ...
- 修复 VirtualBox 下 Ubuntu 14.10 屏幕分辨率问题
在 Windows 7 下使用 VirtualBox 安装了一个 Ubuntu 14.10 后,碰到了一个 640×480 屏幕分辨率的问题. 在 ‘Display Settings' 设置界面的 ‘ ...
- Ubuntu 14.10 下安装Ganglia监控集群
关于 Ganglia 软件,Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格.它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数 ...
- ubuntu 14.10 安装 zabbix
在ubuntu 14.10 上部署 zabbix 2.x 基本软件包安装 既然是ubuntu系统,当然要用好apt-get神器. 参考教程 URL:http://blog.csdn.net/cloud ...
随机推荐
- PHP 获取指定日期的星期几的方法
<?php header("Content-type: text/html; charset=utf-8"); //获取星期方法 function get_week($dat ...
- 小程序中的setData的使用
小程序中的setData setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步). 直接修改 this.data 而不调用 this.setDat ...
- form表单使用(博客系统的登陆验证,注册)
先从小的实例来看form的用法 登陆验证实例,来看form的常规用法 1. forms.py # 用于登陆验证验证 from django.core.validators import RegexVa ...
- ansible命令使用
ansible命令使用 查看每个服务器的主机名 1 $ ansible multi -a "hostname" 使用一个线程执行命令,相当于顺序在每个服务器上运行(默认5个线程执行 ...
- Python数据分析 EPD
参考用书 <利用Python进行技术分析:Python for Data Analysis> 官方把epd (https://www.enthought.com/products/cano ...
- JS获取页面数据执行Ajax请求
下面这个例子展示了如何使用js获取页面中元素的值,并且将这些值作为参数执行Ajax请求. $("#submit-task").bind("click", fun ...
- thinkphp对mysql的CURD操作
利用thinkphp(3.2.3)来操作数据库,首先要连接数据库.我们需要对某数据库写一个配置文件,thinkphp会根据该配置文件自动连接上数据库.而model文件就不用自定义,内置的即可解决问题. ...
- 【总结整理】关于房产app的比较
从切换城市的分类方式就能看出来,因覆盖城市很多,搜房网(房天下)跟安居客都用上了拼音选房,而链家因城市很少,只需简单罗列即可. 搜房网(房天下)覆盖城市多达651个,覆盖范围最广,安居客为500个,两 ...
- opennebula image单个实例响应数据格式
{ ", ", ", "TEMPLATE": { "DEV_PREFIX": "hd", " }, ...
- Python学习笔记_我的参考网址
Python学习笔记, 下面记录网上搜到的可参考的网址: 一.关于Tkinter 1.Python3中tkinter模块使用方法详解 https://blog.csdn.net/Fighting_Bo ...