linux只是一个编译器
2004年4月20日最新版本的GCC编译器3.4.0发布了。目前,GCC可以用来编译C/C++、FORTRAN、java、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。GCC 3.4.0比以前版本更好地支持了C++标准。本文以在Redhat Linux上安装GCC3.4.0为例,介绍了GCC的安装过程。
安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器。如果系统上没有编译器,不能安装源代码形式的GCC 3.4.0。如果是这种情况,可以在网上找一个与你系统相适应的如RPM等二进制形式的GCC软件包来安装使用。本文介绍的是以源代码形式提供的GCC软件包的安装过程,软件包本身和其安装过程同样适用于其它Linux和Unix系统。
系统上原来的GCC编译器可能是把gcc等命令文件、库文件、头文件等分别存放到系统中的不同目录下的。与此不同,现在GCC建议我们将一个版本的GCC安装在一个单独的目录下。这样做的好处是将来不需要它的时候可以方便地删除整个目录即可(因为GCC没有uninstall功能);缺点是在安装完成后要做一些设置工作才能使编译器工作正常。在本文中我采用这个方案安装GCC 3.4.0,并且在安装完成后,仍然能够使用原来低版本的GCC编译器,即一个系统上可以同时存在并使用多个版本的GCC编译器。
按照本文提供的步骤和设置选项,即使以前没有安装过GCC,也可以在系统上安装上一个可工作的新版本的GCC编译器。
1. 下载
在GCC网站上( http://gcc.gnu.org/)或者通过网上搜索可以查找到下载资源。目前GCC的最新版本为 3.4.0。可供下载的文件一般有两种形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,只是压缩格式不一样,内容完全一致,下载其中一种即可。
2. 解压缩
根据压缩格式,选择下面相应的一种方式解包(以下的“%”表示命令行提示符):
% tar xzvf gcc-3.4.0.tar.gz
或者
% bzcat gcc-3.4.0.tar.bz2 | tar xvf -
新生成的gcc-3.4.0这个目录被称为源目录,用${srcdir}表示它。以后在出现${srcdir}的地方,应该用真实的路径来替换它。用pwd命令可以查看当前路径。
在${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。
3. 建立目标目录
目标目录(用${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录${srcdir]中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是${srcdir}的子目录。
例如,可以这样建立一个叫 gcc-build 的目标目录(与源目录${srcdir}是同级目录):
% mkdir gcc-build
% cd gcc-build
以下的操作主要是在目标目录 ${objdir} 下进行。
4. 配置
配置的目的是决定将GCC编译器安装到什么地方(${destdir}),支持什么语言以及指定其它一些选项等。其中,${destdir}不能与${objdir}或${srcdir}目录相同。
配置是通过执行${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路径替换${destdir}):
% ${srcdir}/configure --prefix=${destdir} [其它选项]
例如,如果想将GCC 3.4.0安装到/usr/local/gcc-3.4.0目录下,则${destdir}就表示这个路径。
在我的机器上,我是这样配置的:
% ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java
将GCC安装在/usr/local/gcc-3.4.0目录下,支持C/C++和JAVA语言,其它选项参见GCC提供的帮助说明。
5. 编译
% make
这是一个漫长的过程。在我的机器上(P4-1.6),这个过程用了50多分钟。
6. 安装
执行下面的命令将编译好的库文件等拷贝到${destdir}目录中(根据你设定的路径,可能需要管理员的权限):
% make install
至此,GCC 3.4.0安装过程就完成了。
6. 其它设置
GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。
6.1 gcc、g++、gcj的设置
要想使用GCC 3.4.0的gcc等命令,简单的方法就是把它的路径${destdir}/bin放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。
首先,查看原来的gcc所在的路径:
% which gcc
在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。我们可以把GCC 3.4.0中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接:
% cd /usr/bin
% ln -s ${destdir}/bin/gcc gcc34
% ln -s ${destdir}/bin/g++ g++34
% ln -s ${destdir}/bin/gcj gcj34
这样,就可以分别使用gcc34、g++34、gcj34来调用GCC 3.4.0的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。
6.2 库路径的设置
将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了。
例如,如果GCC 3.4.0安装在/usr/local/gcc-3.4.0目录下,在RH Linux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句:
setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH
7. 测试
用新的编译命令(gcc34、g++34等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作。
8. 根据需要,可以删除或者保留${srcdir}和${objdir}目录。
② LINUX是什么意思
什么是Linux
Linux 通常被认为是一套操作系统,实际上它是一系列Linux内核基础上开发的操作系统的总称。
Linux 怎么读
对于Linux这个英文单词,中国人的发音各式各样,有的读作[ˈlɪnɪks](”李尼克斯“),有的读作[ˈlinju:ks](“李纽克斯”),有的读作[ˈlɪnəks](“李呢克斯”)。官方给出的标准发音为['li:nэks],写成中文就是“李呢克斯”。
其实我见过很多人,有很多不同的读法,其实不用过度纠结读音问题。
Linux 的由来
要说Linux必须先说说Unix, Linux诞生之前,先有的Unix,因为Unix并非免费开源的,用必须买授权之类的,很少人承担的起。
在1983年,理乍得·斯托曼创建了一个自由软件,类Unix,与POSIX兼容的操作系统为目标的GNU计划。作为这个计划其中的一部分,他又写了GNU通用公共许可证(GPL)。
GNU计划发起后,有很多支持者,所以在这期间产生了许多非常棒的软件,但遗憾的是,一直没有一个比较完美的操作系统出现。直到1991年,芬兰大学生林纳斯•本纳第克特•托瓦兹(Linus Benedict Torvalds)基于兴趣开发了一个类Unix操作系统,一经发布便得到了广大爱好者的追捧,这个系统就是Linux。
名称的由来
Linus Torvalds本要把他的发时叫做Freax——“fread”,“free”和“x”(暗指Unix)的合成词。在开发系统的前半年里,他把文件以文件名“Freax”存储。Torvalds考虑过Linux这个名字,但是因为觉得它过于自我本位而放弃了使用它。
为便于开发,在1991年9月,他把那些文件上传到了赫尔辛基工业大学(HUT)的ftp服务器(ftp.funet.fi)。Torvalds在HUT负责管理那个服务器的同事Ari Lemmke,觉得“Freax”这个名字不是很好,就在不咨询Torvalds的情况下,把项目的名字改成了“Linux”。但是之后,Torvalds也同意“Linux”这个名字了:“经过多次讨论,他承认Linux这个名字更好。在0.01版本Linux的源代码的makefile里仍然使用‘Freax'这个名字,在之后‘Linux'这个名字才被使用。所以,Linux这个名字并不是预先想好的,只是它被广泛接受了而已
Linux吉祥物
1996年,Torvalds为Linux选定了企鹅作为它的吉祥物,这就是很多时候看Linux相关书籍的时候,会有个企鹅的原因了
Linux操作系统
以上就是对Linux概念的简介。温故而知新,我最近打算开始将Linux基本指令开始重新梳理一下,如果你也想跟我一块儿回顾下,别忘了关注下,咱们一起回忆,一起进步。
③ Linux下,有图形界面的编译器吗
看你用什么编程语言了?下面是十个杰出的开源开发工具,它们将帮你提升开发效率。
1、Bluefish
Bluefish是进行Web开发时最受欢迎的IDE之一。它能够处理编程和标记语言,但是该工具的重点用途在于创建动态和交互式网站。和许多 Linux应
用程序一样,Bluefish是一个轻量级工具,运行速度非常快,它所占据的资源只有同类工具的30%到40%。Bluefish可以一次打开多个文档
(最高可打开3500个文档)。它包含项目支持、远程文件支持、搜索和替换(包括正则表达式),无限撤消/重做、多语言定制语法高亮、窗口反斜线文本和多
编码支持等功能。
Bluefish最漂亮的功能之一是用户定义工具栏Quickba,它可以让你通过“右键点击并选择增加到
Quickbar”的方式来增加按钮。你可以增加任意HTML工具栏按钮到Quickbar上。Bluefish还有许多操作简化工具,可以帮助你增加不
同元素到你的代码中。需要一个 DHTML自动提交选择框?简单。从DHTML下拉列表中选择“自动提交选择框(Auto-submit Select
Box )”,然后填充必要的条目,就可以增加该元素到你的代码中。Bluefish有针对C、Apache、DHTML、DocBook、HTML、
PHP+HTML和SQL的智能向导。如果是手动开发自己的网站,你应该选择使用Bluefish这个工具。
该工具主页:http://bluefish.openoffice.nl/
2、Anjuta
Anjuta是一个免费的开源C和C++开发工具。
它的安装非常简单(在Mandriva上使用urpmi
anjuta命令),提供项目管理、应用程序向导、交互式调试器、一个强大的源代码编辑器(支持源浏览、代码完成和语法高亮功能)。Anjuta团队开发
的这个强大IDE非常易于使用,而且可以满足你的C和C++编程需求。
Anjuta具有一个灵活而强大的用户界面,让你可以在布局界面中拖拽工具来安排图形用
户界面,使其与你希望的设计最接近。而且每一个用户配置的布局对一个项目来说是可以持续生存的(因此你可以为每一个项目使用不同的布局)。Anjuta还
具有一个强大的插件系统,通过它你可以选择激活或关闭哪一个插件。而且与所有开源项目一样,你可以为Anjuta开发满足你自己需求的插件。在
Anjuta应用程序中最大的工具之一是项目管理器。这个工具几乎可以打开任何基于automake/autoconf的项目。这个项目管理器不会增加任
何基于Anjuta的信息到这个项目中,因此在Anjuta之外,你的项目同样可以被维护和开发。
该工具的主页:http://anjuta.sourceforge.net/
3、Glade
Glade是一个GNOME桌面环境下用于开发GTK+的RAD(迅速应用开发)工具。它的界面与GIMP非常类似,可以被用户进行定制化,甚至可以被嵌入到Anjuta中。
Glade包含许多界面创建控件,诸如文本框、对话标签、数字输入框和菜单等,让你可以更快速的开发界面。界面设计以XML格式存储,从而让这些设计可以被轻松的应用于外部工具中。
安装Glade的过程非常简单。举例来说,如果你使用Fedora操作系统,你可以使用命令“yum install glade3”来启动安装。Glade不像Anjuta一样具有一个强大的项目管理器,但是你可以在Glade中创建、编辑和保存项目。
该工具的主页:http://glade.gnome.org/
4、GCC
GCC是一个GNU编译器,支持C、C++、Objective-C、FORTRAN、Java和Ada等语言。它是一个命令行工具。
最常见的用途是作为C和C++代码的编译器。你可能会有疑问,一个工具如何编译不同语言的代码?非常简单:对于C来说,你调用“gcc”命令,而对于
C++来说,你调用“g++”命令。两个编译器在同一套工具集中。而且g++是一个编译器,而不仅仅是一个预处理器。它可以直接从源代码创建目标代码,而
无需使用一个中介首先从C++代码创建C代码。这样可以创建更好的目标代码,而且让你掌握更好的调试信息。
该工具的主页:http://gcc.gnu.org/
5、Kdevelop
Kdevelop创建于1998年,是一个非常易用的KDE桌面环境IDE。Kdevelop目前在GPL下发布,可以免费使用。
它是基于插件的,因此你可以通过增加和移除插件,来创建最适合你需要的功能。Kdevelop还支持描述性档案(profile)功能,因此不同设置的插件可以与特定项目关联在一起。
Kdevelop支持15种编程语言,对每一种语言有其特定的功能。Kdevelop还提供一个内置调试器、版本控制系统
(Subversion)、应用程序向导、文档查看器、代码段工具(code
snippets)、集成Doxygen、RADio工具、支持Ctags、代码格式重定、QuickOpen支持和停靠窗口和工具栏等功能。
Kdevelop最好的地方之一是,它替用户完成了众多底层的任务。不断处理make、automake和configure操作是一件令人讨厌的事情。
任何好程序员应该知道这些工具,Kdevelop包含了一个Automake管理器,简化了它们的使用。该工具另一个好用的功能是,该编译器的输出窗口是
彩色的,因此你可以很容易的立刻看到错误、警告和信息之间的区别。
6、GDB
严格来
说,GDB算不上一个开发者工具,不过它是多数*NIX开发者必备的工具之一。GDB就是GNU调试器。这个工具从命令行中启动,让开发者可以立即获得来
自另一个被执行的程序的即时反馈。如果你要创建、完成和发布一个应用程序,可能需要了解问题所在。为了帮助你发现这些问题,你可以从
gdb工具中启动这个程序,它将帮助你发现问题所在。通过GDB你可以完成如下任务:
·按照影响应用程序行为的指定参数、开关或输入来启动它;
·针对特定行为终止应用程序执行;
·当你的应用程序停止时检查发生的事情;
·修改应用程序,迅速进行测试。
在处理漏洞报告时,GDB也非常好用。
该工具的主页:http://www.gnu.org/software/gdb/
7、KompoZer
KompZer是一个易用的所见即所得(WYS/WYG)Web开发工具,其目标用户是希望创建一个专业Web站点,而又不想了解HTML的非技术用户。
KompoZer具有众多亮点功能。其中最强大的一点就是可以通过一个URL打开、编辑和上传一个网站。这个功能让你可以无需编辑HTML就可以简单的对网站进行更新。当然,前提是你必须具有网站的上传权限。在使用其它网站作为模板时,这个功能也非常有用。
你不能把KompoZer看作一个只适合初学者的工具。它是微软FrontPage和Adobe Dreamweaver的免费开源替代产品。和其竞争产品一样,KompoZer可以通过点击一个标签就实现代码编辑和预览界面的切换。
该工具的主页:http://www.kompozer.net/
8、Eclipse
Eclipse是一个Java语言编写的多语言支持的IDE,它具有一个丰富的插件系统,让你可以对其进行功能扩展。平均每月被下载的次数超过100万次,Eclipse是当今软件开发领域最强大的工具之一。实际上,Eclipse是开源开发的事实标准。
Eclipse最强大的地方或许在于其插件功能。在支持编程语言方面,Eclipse号称拥有高达58个插件。基于这个功能丰富的开发环境,Eclipse拥有一个巨大的开发者社区,而且很多机构都提供该IDE的培训,甚至在有的大学里将其列为课程之一。
该工具的主页:http://www.eclipse.org/
9、Make
Make是一个Linux工具,可以自动判断大型程序的哪一部分需要被编译。一旦判断出哪些需要被编译后,它将运行必要的命令来完成这个操作。当从源代码安装应用程序时,经常会用到Make,因此开源应用程序开发者应该对Make工具有比较深入的了解,明白如何使用它。
如果你计划开发一个需要从源代码安装的应用程序,你需要知道如何软件一个makefile。这个makefile描述了你应用程序中不同文件之间的关
系,并且包含了需要拼合在一起的声明。如果你熟悉应用程序安装的话,你会了解这个命令:./configure;make;make install。
10、Quanta Plus
与Kompozer类似,Quanta Plus也是一个HMTL开发工具。Quanta Plus支持所见即所得(WYSIWYG),也支持代码处理,它支持HTML、XHTML、CSS、XML(以及基于XML的语言)和PHP。
Quanta
Plus的特色功能包括快速标签完成、项目管理、实时预览、PHP调试器、CVS支持和子版本支持(需要插件支持)。相对来说,Kompozer的主要目
标用户是那些非技术专业用户,而Quanta Plus则是针对那些希望有一个好的所见即所得编辑器的技术型用户。
该工具的主页:http://quanta.kdewebdev.org/
④ linux的make命令是一个编译器么它课可以编译什么语言
make不是编译器,它可以根据预定义的参数来执行订制的编译过程,在这个过程中是要依靠外部编译器的,比如linux中的gcc集
⑤ Linux到底是一个什么样的操作系统
简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
Linux的出现,最早开始于一位名叫Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能,因而开始了Linux雏形的设计。
Linux以它的高效性和灵活性着称。它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。
Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。
由于Linux是一套具有Unix全部功能的免费操作系统,它在众多的软件中占有很大的优势,为广大的计算机爱好者提供了学习、探索以及修改计算机操作系统内核的机会。
操作系统是一台计算机必不可少的系统软件,是整个计算机系统的灵魂。一个操作系统是一个复杂的计算机程序集,它提供操作过程的协议或行为准则。没有操作系统,计算机就无法工作,就不能解释和执行用户输入的命令或运行简单的程序。大多数操作系统都是由一些主要的软件公司支持的商品化程序,用户只能有偿使用。如果用户购买了一个操作系统,他就必须满足供应商所要求的一切条件。因为操作系统是系统程序,用户不能擅自修改或试验操作系统的内核。这对于广大计算机爱好者来说无疑是一种束缚。
要想发挥计算机的作用,仅有操作系统还不够,用户还必须要有各种应用程序的支持。应用程序是用于处理某些工作(如字处理)的软件包,通常它也只能有偿使用。每个应用程序的软件包都为特定的操作系统和机器编写。使用者无权修改这些应用程序。使用Linux,可以将操作系统变成一种操作环境。
由于Linux是一套自由软件,用户可以无偿地得到它及其源代码,可以无偿地获得大量的应用程序,而且可以任意地修改和补充它们。这对用户学习、了解Unix操作系统的内核非常有益。 学习和使用Linux,能为用户节省一笔可观的资金。Linux是目前惟一可免费获得的、为PC机平台上的多个用户提供多任务、多进程功能的操作系统,这是人们要使用它的主要原因。就PC机平台而言,Linux提供了比其他任何操作系统都要强大的功能,Linux还可以使用户远离各种商品化软件提供者促销广告的诱惑,再也不用承受每过一段时间就升级之苦,因此,可以节省大量用于购买或升级应用程序的资金。
Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。这对Windows NT、Windows98、MS-DOS或OS/2等商品化操作系统来说是无法做到的。
Linux为广大用户提供了一个在家里学习和使用Unix操作系统的机会。尽管Linux是由计算机爱好者们开发的,但是它在很多方面上是相当稳定的,从而为用户学习和使用目前世界上最流行的Unix操作系统提供了廉价的机会。现在有许多CD-ROM供应商和软件公司(如RedHat和TurboLinux)支持Linux操作系统。Linux成为Unix系统在个人计算机上的一个代用品,并能用于替代那些较为昂贵的系统。因此,如果一个用户在公司上班的时候在Unix系统上编程,或者在工作中是一位Unix的系统管理员,他就可以在家里安装一套Unix的兼容系统,即Linux系统,在家中使用Linux就能够完成一些工作任务
⑥ 嵌入式linux应用程序通常用什么编译器编译
Linux有一系列功能强大的编译器:vi、emace是屏幕交互式编译器,GNU CC是GNU项目中符合ANSI C标准的编译系统。
vi命令是Linux下全屏幕文本编辑,虽然这个编译器特简陋,对于初学者来说不是很友好,但是在Linux中vi的作用非常大。
主要的三种模式:命令模式、输入模式、末行模式。
掌握这三种模式十分重要:
命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式。在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件。
输入模式:在这个模式中我们可以编辑、修改、输入等编辑工作,在编辑器最后一行显示一个“--INSERT--”标志着vi进入了输入模式。当我们完成修改输入等操作的时候我们需要保存文件,这时我们需要先返回命令模式,在进入末行模式保存。
末行模式:在命令模式输入“:”即可进入该模式,在末行模式中有好多好用的命令。
vim是vi编辑器的改进版本,在vi编译的基础上扩展了很多实用的功能。
至于vi/vim的命令就不给大家介绍了,我们在日常实际的使用之中随着积累都会掌握。
⑦ Linux操作系统中默认安装的C语言编译系统是
Linux操作系统中默认安装的C语言编译系统是GCC(GNU Compiler Collection),是Linux下最常用的C语言编译器,是GNU项目中符合ANSI,C标准的编译系统,能够编译用C、Object C等语言编写的程序。
同时它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal、Mola,3和Ada等。
C语言的标准
1.1 K,RC
1973年,Dennis M Ritchie设计和实现了C语言,从那以后使用者逐渐增加。
1978年,Kernighan 和 Ritchie 合着了《The C Programming Language》,这本书定义的C语言被称为 K,RC 。
1.2 标准 C
随着C语言使用日益广泛,出现了许多新问题,人们迫切希望对C语言进行标准化。
第一个标准:C89
1983年,ANSI成立了一个委员会X3J11,对C语言进行标准化。
1989年,ANSI 批准了第一个C语言标准 X3,159-1989,并于1990年公布,被称为 ANSIC、C89 或 C90。
1990年,这个标准又被批准为ISO标准:ISO,IEC 9899:1990 。
ANSIC标准被ISO采纳,并且ISO发布的修订版也被ANSI采纳,因此ANSI标准和ISO标准实际上没有技术区别。这些名称的含义是相同的:ANSI C、ISO C、标准C。
1994年和1996年,ISO发布了两个技术更正,更正了1990ISOC标准中的错误。
第二个标准:C94
1995年,ISO发布了1990ISOC标准的一个补充,称为AMD1。扩充后的标准被称为C94或C95。
第三个标准:C99
1999年,ISO发布了一个新版本的ISOC标准:ISO,IEC9899:1999,称为C99。
2001年、2004年和2007年,ISO发布了三个技术更正,更正了1999ISOC标准中的错误。
第四个标准:C11
2011年,ISO发布了一个新版本的ISOC标准:ISO,IEC9899:2011,称为C11。C11 是 C语言的最新标准。
1.3 GNUC
1984年,Richard Stallman 发起了GNU计划,它的目标是开发一个完整且自由的Unix-like操作系统(GNU系统)。
GNU系统是一个完整的操作系统,包括操作系统内核和各种工具软件。各种GNU系统的变种(例如Redhat、Ubuntu等)已经被广泛使用,它们使用的操作系统内核都是Linux。虽然这些系统经常被称为Linux,但准确地说,它们是GNU/Linux系统。
GNU在编写Linux时扩展了标准C,称为GNUC。
GNU C的扩展详见:Extensions to the C Language Family
GNU C也称为Linux C,一般用于Linux上的开发,而标准C可以跨平台。
GNU C使用的编译器是GCC。
⑧ linux 怎么编译c的源程序的gcc,编译命令是什么
在Linux下面,如果要编译一个C语言源程序,我们要使用gcc编译器。
先将源文件编译成目标文件:gcc - c hello.c
生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o
如:
int main(int argc,char **argv)
{
printf("Hello Linux ");
}
(8)linux只是一个编译器扩展阅读:
在使用GCC编译器的时候,我们必须给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100多个,这里只介绍其中最基本、最常用的参数。具体可参考GCC Manual。
GCC最基本的用法是∶gcc [options] [filenames]
其中options就是编译器所需要的参数,filenames给出相关的文件名称。
网络_gcc
⑨ linux中常用编译器是什么
Linux 下可用的编译器有 GCC、EGCS 和 PGCC,其中最常用的编译器便是 GCC。
GCC 起初是 GNU 推出的 C语言编
译器,用于类 Unix 系统下的编程,所以名为 GNU C Compiler 。随着众多自由开发者的加入,GCC
发展迅速,如今已成为一个支持众多语言的编译器了,其中包括 C、C++、Ada、Object C 和 Java 等,以至于 GCC 开始被扩展为
GNU Compiler Collection ,也就是“GNU 编译器集合”的意思。
GCC用法:
1、GCC基本用法及其选项
gcc 或 g++ 的用法跟参数含义几乎一样,他们最基本的用法是:
2、只编译子程序(-c)
3、产生目标文件(-o)
4、附加调试信息(-g)
5、多文件编译
6、连接库文件。
⑩ 在Linux 中有自带C语言编译器吗
桌面 Linux 不像 FreeBSD,一般都不自带 C 语言编译器,因为那属于开发用工具,桌面用户一般不用。
但是许多 GNU/Linux 的发行版的后台软件库都存有 C 语言编译器,可以通过软件包管理器来安装。
以 Fedora 22 为例,安装 GCC 的命令为 sudo dnf install gcc (不过我个人比较偏好 clang),其中 dnf 是管理软件包的指令。