① 现在学习c语言都是用什么编译器
初学者用的一般是TC编译器。
名词解释
c语言
C语言是一种计算机程序设计语言,属高级语言范畴。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序,代码清晰精简,十分灵活。
C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。
C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、Microsoft Windows及linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。
语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的 DEC PDP-11 计算机上使用。它由早期的编程语言BCPL(Basic Combined Programming Language)发展演变而来,在1970年,AT&T贝尔实验室的Ken Thompson根据BCPL语言设计出较先进的并取名为B的语言,最后导致了C语言的问世。 而B语言之前还有A语言,取名自世界上第一位女程序员Ada(艾达)。
随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准, 使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行的C语言标准。
注:国际标准化组织ISO也制定的C语言的标准,目前被很多编译器所采用,如:GCC等。
C语言是世界上最流行、使用最广泛的高级程序设计语言之一。[2]
在操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。
C语言绘图能力强,具有可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。
常用的编译软件有Microsoft Visual C++,Borland C++,gcc(linux系统下最常用的编译器),Watcom C++ ,Borland C++, Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++, Lccwin32 C Compiler 3.1,Microsoft C,High C等。
同时也是中国国家计算机等级考试中计算机二级考试下的一个考试科目。
② 手机c语言编程软件哪个好
C4droid中文版可以说是款Android设备上的最强的 C/C++ IDE,支持多种图形库: SDL、SDL2 (需安装sdl plugin for c4droid)、QT(需安装CuteLoadear)等,还支持导出APK!
③ 学C语言要下载什么软件
学c语言可以用的软件推荐如下:
1、TurboC是由美国Borland公司开发的一套C语言程序开发工具,Borland公司是一家专门从事软件开发、研制的大公司。该公司相继推出了一套Turbo系列软件,如TurboBASIC、TurboPascal、TurboProlog,这些软件很受用户欢迎。TurboC集成了程序编辑、调试、链接等多种功能。
2、WIN-TC是一个TC2WINDOWS平台开发工具。该软件使用TC2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS平台下的功能,例如剪切、复制、粘贴和查找替换等。
④ 急求C语言网络编译器
C++编译器是C语言编译器的超集,所以你去下个Visual Studio就好了,肯定能编译C程序。
⑤ 现在学习C语言,编译器都用什么啊
turbo c是最古老的编译器,不支持中文输入,支持C语言图形编程,不建议使用
win-tc是我个人认为比较方便,比较实用的编译器,不支持中文输入,支持C语言图形编程,若是学C语言,强烈建议使用
C与C++程序设计学习与实验系统 2009.3 是能够编译C语言和c++文件的,能够支持中文输入,不支持C语言图形编程,建议使用
vc++6.0功能强大的编译器,能够编译C语言和c++文件,支持中文输入不支持C语言图形编程,建议使用
⑥ 求职简历中特长爱好书写范文
对应聘者来说,简历是求职的“敲门砖“。简历的 爱好 特长写得好可以给自己的简历添加光彩。以下是我整理的求职简历中特长爱好书写 范文 _个人求职简历中的特长爱好怎么写,以供大家参考。
求职简历中特长爱好怎么写
“爱好与特长”在简历中的说服力不是很强,如果再不具体只能是浪费笔墨,甚至适得其反,所以在描述你的爱好与特长时一定要注意以下问题。
(1)写强项。弱项不要写, 面试 人员说不定对哪个项目感兴趣,有时会跟你聊两句,尤其是接连几个、十几个面试之后,有些招聘人员爱聊一些轻松的话题,一旦聊到的是你的弱项,绝大部分人会很尴尬,显出窘态,丧失自信,这对你很不利。更重要的是,招聘人员会觉得你在撒谎。
(2)强项要写也只写两到三项。
因为极少有人能够达到“十项全能”水平。如果你觉得自己有很多强项,那么招聘经理会认为你的标准可能稍低了点儿。当然,确实有人有七八项强项,但一般人不相信个人强项特别多,所以你也没必要写那么多,以免给人轻浮的感觉。
(3)不具体的爱好不写。
这些都是非常宽泛的词语,比如你是钢琴九级,而你在简历中只说自己爱好音乐,很可能会被误解为你就是爱唱唱卡拉OK。不具体的爱好,通常会被大家理解为你根本就没有真正的爱好,更糟糕的是,人们会认为你的写作水平很差。而阅读这样的爱好最好不写,哪个学生不是寒窗苦读才熬到今天?除非你对于某段历史、某种文学真的很有研究,否则建议不写为妙,要知道中资企业的人事经理大多都是文科出身,业务上不能把你考倒,文学方面鹿死谁手就不得而知了。
(4)最好能写上一两项体育爱好,否则招聘经理会认为你的体质很差不适合运动,或者你缺乏毅力不愿运动,因为有些工作需要经常出差或者加班,如此高强度的工作可能你心有余而力不足,那么可能就不会聘用
求职简历中特长爱好范文范本1 特长爱好和优势一起写
我性格开朗,办事稳重善于思考,自学能力强,专业知识扎实,积极参加校园的各种文体活动,参加 社会实践 。我喜欢打 羽毛球 , 乒乓球 ,强身健体。我兴趣广泛,爱好体育、绘画,积极参加各类竞赛,获得各类奖项。假期时间参加英语培训班。经过高中三年的学习,相信我我一定在德智体各项中得到很好的发展。
范本2 分点写特长爱好
1.电脑应用熟练,熟练操作word,excel,,outlook,erp等各种办公软件; 2.勤奋上进好学,工作细心,条理清晰,踏实肯干,有很强的责任心; 3.性格开朗乐观,善于人际交流和沟通,具备团队合作精神; 4.喜好书法并有一定的书写能力。
范本3特长和爱好分开写
特长:擅长ps软件的应用,文字功底好,有独立排舞的能力。
爱好:听音乐,追求新鲜事物,阅读,运动等
下面是一些简历中的 兴趣爱好 及让人联想到的特征,可以作为借鉴:
篮球 , 足球 , 排球 :团队精神。适用大多数岗位,如果你有这方面的爱好可以写进简历。
围棋 , 国际象棋 :战略意识,应聘市场类或者高端职位比较适宜写这类爱好。
阅读,古典音乐:高雅。应聘文职类的职位适合。
旅游:适应不同环境的能力,快速学习的能力。特别是某些工作职位需要经常出差有这方面爱好的求职者无疑有一定优势,适用于销售业务类职位。
跆拳道 :意志。适用于管理类,市场类职位。
演讲, 辩论 :沟通能力强,适用于市场类,销售业务类职位。
舞蹈:外向,易沟通。适用于公关类,市场类的职位。
爱好越具体越好
不具体的爱好,通常会被大家理解为你根本就没有真正的爱好,更糟糕的是,人们会认为你的写作水平很差。这些爱好在HR眼中是:
音乐:没有特长;整天带着耳机的家伙;带2B的文艺青年;可能会唱唱卡拉OK
阅读/读书:没有特长;读各类弱智小说;此人很闷;不说话的人
阅读这样的爱好最好不写,哪个学生不是寒窗苦读才熬到今天?除非你对于某段历史、某种文学真的很有研究,否则建议不写为妙,要知道中资企业的人事经理大多都是文科出身,业务上不能把你考倒,文学方面鹿死谁手就不得而知了。
你不妨写上羽毛球等日常生活中经常玩的运动项目,既没有高抬自己大多数时间都在捡球的水平,又没有让招聘经理失望。
求职简历中特长
范文1:销售类
精通美容美发企业的 企业管理 、 市场营销 ,以及市场运作和组织;精通纹绣美甲产品和市场;精通美容护肤彩妆产品与市场;曾在《销售与市场》杂志发表多篇论文。擅长:销售规划、团队激励与培训、市场拓展。
范文2:技术类
1、熟悉掌握美容、化妆、美发等原理,精通“刘氏”美容手法;
2、4年美容院驻店 经验 ,精通各种皮肤疑难问题;
3、具有丰富的美容师管理经验与协调经验;
4、有“高级美容师”、“托尼英盖高级美发师”等证书。
范文3:文职类
1、熟练使用多种计算机软件office、photoshop和办公设备操作,打字80字/分钟以上;
2、熟练上internet查寻资料及收发邮件,公司网站的维护与更新;
3、接听电话、收发传真、图书以及人事、行政文件制作、管理;
4、良好的沟通能力及协调能力。
范文4:通用性
1、具有较强的领导能力、业务工作能力、组织与协调能力、沟通能力、计划与执行能力。
2、具有娴熟的沟通技巧与团队建设和管理能力,极强的谈判能力及优秀的口头表达,能承受压力。
3、有较强的组织、协调、沟通、领导能力及出色的 人际交往 和社会活动能力以及敏锐的洞察力;
4、具有很强的判断与决策能力,计划和执行能力;
5、良好的团队协作精神,为人诚实可靠、品行端正、具有亲和力,较强的独立工作能力和公关能力。
简历中特长爱好范文篇1姓名:
性别:男 出生年月:_年_月
联系地址:北京市东城区__大街10号邮编:100007
Email Address:__
教育 背景
*20__.9---20__.7北京信息工程学院获通信系学士学位
*20__.1-20__.7在清华大学电子工程系完成 毕业 设计
另:其他培训情况
*SUN Solaris2.4系统管理及高级用户培训
* Cisco Scaling Multi-layer lntranet(Layer 3 Switch)
*IBM网络产品操作培训:ATM交换机(8265/MSS,8285),局域网路由交换机(8273/8274),路由器
*IBM网络培训高级班:ATM(8260,8265,MSS.PNNI,MPOA),局域网路由交换机(8273/8274)
*ECI TELECOM网络设计(Frame Relay)
*ECI TELECOM产品(NF_ 7500,7300,7100Frame Relay交换机),(网络接入产品NF_500,400)
*通过国家大学英语四级和六级考试,具有流利的 英语口语 表达能力
工作经历
*20__年5月---至今__公司 网络系统工程师
●Cisco、IBM网络产品的技术支持
网络系统方案(局域网和广域网)的设计和规划,解答用户的疑问,根据用户需求提出最佳解决方案;Cisco、IBM网络产品的现场调试和系统维护
●客户技术培训,及公司内部的技术交流与培训
网络基本原理及技术:LAN,WAN,TCP/IP,ATM等,以及Cisco、IBM网络设备调试过程;讲解IBM AI_基本系统管理及高级系统管理、Netview、NFS、HACMP等
●曾经参与的项目
设计,安装,调试“吉林97工程”--吉林省电信综合管理系统ATM网络及主机系统,长沙卷烟厂,锦州合作银行,人民教育出版社信息系统;设计云南省邮电办公信息集成系统,济南广电ATM宽带综合业务网、陕西有线电视宽带网
*20__年9月---20__年3月__公司 系统管理员/工程师
●CHINAGBN Internet网络信息中心的系统管理
熟练掌握UNI_(SUN Solaris) 操作系统 、网络管理并参与组建了CHINAGBN Internet网络中心(包括网络设计,安装系统,联调,维护,网络编程)
●CHINAGBN金桥网六城市网络站点的建设
参与各站点Internet网络中心的总体规划和建设及其与卫星主干网的连接,对主干卫星网、_.25分组交换、Frame Relay、ISDN和DDN及其相关设备有所了解
●CHINAGBN Internet网络中心Web系统管理员
个人简介
具备丰富的工作经验,认真踏实负责,且具备优秀的表达能力,曾多次主持对用户和内部的技术讲解和培训,获得用户和公司的一致好评。曾在电子工业部“三金工程展风采展示会”上向来宾讲解CHINAGBN专线集团用户解决方案。
本人性格
温和、谦虚、自律、自信(根据本人情况)
简历中特长爱好范文篇2目前所在: 海珠区 年龄: 32
户口所在: 广西 国籍: 中国
婚姻状况: 已婚 民族: 汉族
诚信徽章: 未申请 身高: 162 cm
人才测评: 未测评 体重: 50 kg
我的特长:
◆ 求职意向
人才类型: 普通求职
应聘职位: 成本管理人员,会计,税务人员
工作年限: 8 职称: 无职称
求职类型: 全职 可到职日期: 随时
月薪要求: 4500~5499元 希望工作地区: 广州,东莞,韶关
◆ 工作经历
东莞南福皮件有限公司 起止年月:20__-10 ~ 20__-09
公司性质: 外商独资所属行业:服装/纺织/皮革/鞋业
担任职位: 成本会计
工作描述: 1.根据工厂的生产工艺流程确定成本核算 方法
2.建立工厂整套成本体系
3.核算原材料成本
4.对制造费用、人工、管理费用、销售费用、其他支出根据生产工时进行分配
5.成本费用在完工产品与在产品之间进行分配
6.核算出每个订单成本及产品单位成本
7.核算废品损失成本
8.对公司每项费用和材料所占比例进行分析
9.配合上级主管召开成本会议,完善内部控制.
离职 原因:
东莞莱得利皮具有限公司 起止年月:20__-10 ~ 2011-09
公司性质: 外商独资所属行业:服装/纺织/皮革/鞋业
简历中特长爱好范文篇3姓 名:
年龄: 21
民族: 汉族
应聘职位: 软件工程师
工作年限: 2
求职类型: 实习
可到职日期: 随时
月薪要求: 4000--8000
希望工作地区: 广州
教育背景
毕业院校: 学院
最高学历: 本科
毕业日期: 20__-07
专 业 一: 软件工程
外语: 英语
专长:
1、能够充分理解面向对象的设计思想。
2、熟练掌握Java、C/C++ 程序设计语言,掌握基本的算法原理,会利用开发平台编写高级语言程序。
3、能熟练使用JSP+JavaBean开发模式。
4、能熟练使用Eclipse、MyEclipse、Microsoft Visual Studio。
5、能熟练配置、调试Java应用服务器Apache Tomcat并进行Java程序的开发部署。
6、熟悉MySql、Oracle、SQLServer2000数据库,掌握基于SQLServer2000的数据库编程。
7、熟悉和了解OOA,OOD能操作Power Designer等工具。
8、熟悉JavaScript。
项目经验:
项目一: 酒店信息管理系统(20__/10—20__/01)
系统平台:Windows _P
开发环境:MyEclipse+TOMCAT6.0+SQLServer20__
项目描述:后台数据库管理酒店人员、物资;前台界面实现酒店的信息查询、预定。
开发团队: 小组开发,共四位成员。
角色定位: 项目组长,负责网站前台界面设计、JSP程序的编写以及后台数据库的设计,
协调小组成员的设计、开发工作,参与测试。
项目二:C语言编译器开发(20__/10—20__/12)
系统平台:Windows _P
开发环境:MyEclipse
项目描述:使用C++语言开发,采用面向对象设计,实现该语言的词法分析,语法分析及语义分析三个部分。
开发团队: 小组开发,共四位成员。
角色定位:主要负责词法分析及语法分析部分面向对象的设计与开发。
个人评价:
学习成绩良好,有自主学习与钻研的精神,对软件开发有很浓厚的兴趣。善于与人合作,有良好的表达能力。
求职简历中特长爱好书写范文相关 文章 :
★ 求职简历中特长爱好书写范文
★ 个人简历特长爱好怎么写参考范文
★ 个人简历中的专业特长范文
★ 毕业生的个人特长简历范文模板
★ 个人简历中的爱好特长怎么写
★ 个人简历特长爱好怎么写好
★ 简历中个人特长及自我评价范文
★ 求职简历特长怎么写
★ 个人简历中的个人特长怎么写
★ 个人简历特长怎么写
⑦ 什么是c编译器有什么用,可以用它来写C语言吗
所谓c语言编译器,就是把编程得到的文件,比如.c,.h的文件,进行读取,并对内容进行分析,按照c语言的规则,将其转换成系统可以执行的二进制文件。
其本质在于对文件的读入,分析,及处理。这些操作,c语言都是可以实现的。
所以用c语言来做c语言的编译器是完全可行的。
但是,历史上的第一个c语言编译器,肯定不是c语言写的,因为在没有编译器时,无法把c语言转换成可执行文件。
只要有了第一版其它语言的编译器,就可以用c语言写编译器了。
事实上,目前大多数的c语言编译器,都是用c语言写的。
⑧ 学C语言现在最好用的编程软件
GNU编译器套装
开发 The GNU Project
最新版本 4.4.2 / 2009-10-15(2个月前)
操作系统 跨平台
类型 编译器
许可协议 GPL
网站 gcc.gnu.org
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与其他语言。
目录
[隐藏]
* 1 概观
* 2 目前支持的语言
o 2.1 内嵌OpenMP支持
* 3 支持的处理器架构
* 4 结构
o 4.1 前端接口
o 4.2 中介接口
o 4.3 后端接口
* 5 替GCC程序除错
* 6 参考书目及注释
* 7 参阅
* 8 更多阅读
* 9 外部链接
[编辑] 概观
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编译,有很大的机会可得到正确无误的输出程序。
[编辑] 目前支持的语言
以2006年5月24日释出的4.1.1版为准,本编译器版本可处理下列语言:
* Ada 《GNAT》
* C 《GCC》
* C++(G++)
* Fortran 《Fortran 77: G77,Fortran 90: GFORTRAN》
* Java 《编译器:GCJ;解释器:GIJ》
* Objective-C 《GOBJC》
* Objective-C++
先前版本纳入的CHILL前端由于缺乏维护而被废弃。
Fortran前端在4.0版之前是G77,此前端仅支持Fortran 77。在本版本中,G77被废弃而采用更新的GFortran,因为此前端支持Fortran 95。
下列前端依然存在:
* Mola-2
* Mola-3
* Pascal
* PL/I
* D语言
* Mercury
* VHDL
[编辑] 内嵌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
参见GNU的GOMP计划
[编辑] 支持的处理器架构
GCC目前支持下列处理器架构(以4.1版为准):
* Alpha
* ARM
* Atmel AVR
* Blackfin
* H8/300
* IA-32(x86)与x86-64
* IA-64例如:Itanium
* MorphoSys家族
* Motorola 68000
* Motorola 88000
* MIPS
* PA-RISC
* PDP-11
* PowerPC
* System/370,System/390
* SuperH
* HC12
* SPARC
* VAX
* Renesas R8C/M16C/M32C家族
较不知名的处理器架构也在官方释出版本中支持:
* A29K
* ARC
* C4x
* CRIS
* D30V
* DSP16xx
* FR-30
* FR-V
* Intel i960
* IP2000
* M32R
* 68HC11
* MCORE
* MMIX
* MN10200
* MN10300
* NS32K
* ROMP
* Stormy16
* V850
* Xtensa
由FSF个别维护的GCC处理器架构:
* D10V
* MicroBlaze
* PDP-10
* MSP430
* Z8000
当GCC需要移植到一个新平台上,通常使用此平台固有的语言来撰写其初始阶段。
[编辑] 结构
GCC的外部接口长得像一个标准的Unix编译器。用户在命令行下键入gcc之程序名,以及一些命令参数,以便决定每个输入文件使用的个别语言编译器,并为输出代码使用适合此硬件平台的汇编语言编译器,并且选择性地运行连接器以制造可运行的程序。
每个语言编译器都是独立程序,此程序可处理输入的源代码,并输出汇编语言码。全部的语言编译器都拥有共通的中介架构:一个前端解析符合此语言的源代码,并产生一抽象语法树,以及一翻译此语法树成为GCC的寄存器转换语言《RTL》的后端。编译器优化与静态代码解析技术(例如FORTIFY_SOURCE[1],一个试图发现缓存溢出《buffer overflow》的编译器)在此阶段应用于代码上。最后,适用于此硬件架构的汇编语言代码以Jack Davidson与Chris Fraser发明的算法产出。
几乎全部的GCC都由C写成,除了Ada前端大部分以Ada写成。
[编辑] 前端接口
前端的功能在于产生一个可让后端处理之语法树。此语法解析器是手写之递回语法解析器。
直到最近,程序的语法树结构尚无法与欲产出的处理器架构脱钩。而语法树的规则有时在不同的语言前端也不一样,有些前端会提供它们特别的语法树规则。
在2005年,两种与语言脱钩的新型态语法树纳入GCC中。它们称为GENERIC与GIMPLE。语法解析变成产生与语言相关的暂时语法树,再将它们转成GENERIC。之后再使用"gimplifier"技术降低GENERIC的复杂结构,成为一较简单的静态唯一形式(Static Single Assignment form,SSA)基础的GIMPLE形式。此形式是一个与语言和处理器架构脱钩的全局优化通用语言,适用于大多数的现代编程语言。
[编辑] 中介接口
一般编译器作者会将语法树的优化放在前端,但其实此步骤并不看语言的种类而有不同,且不需要用到语法解析器。因此GCC作者们将此步骤归入通称为中介阶段的部分里。此类的优化包括消解死码、消解重复计算与全局数值重编码等。许多优化技巧也正在实现中。
[编辑] 后端接口
GCC后端的行为因不同的前处理器宏和特定架构的功能而不同,例如不同的字符尺寸、调用方式与大小尾序等。后端接口的前半部利用这些消息决定其RTL的生成形式,因此虽然GCC的RTL理论上不受处理器影响,但在此阶段其抽象指令已被转换成目标架构的格式。
GCC的优化技巧依其释出版本而有很大不同,但都包含了标准的优化算法,例如循环优化、线程跳跃、共通程序子句消减、指令调度等等。而RTL的优化由于可用的情形较少,且缺乏较高级的信息,因此比较起近来增加的GIMPLE语法树形式[2],便显得比较不重要。
后端经由一重读取步骤后,利用描述目标处理器的指令集时所取得的信息,将抽象寄存器替换成处理器的真实寄存器。此阶段非常复杂,因为它必须关照所有GCC可移植平台的处理器指令集的规格与技术细节。
后端的最后步骤相当公式化,仅仅将前一阶段得到的汇编语言码借由简单的副函数转换其寄存器与存储器位置成相对应的机器码。
[编辑] 替GCC程序除错
为GCC除错的首选工具当然是GNU除错器。其他特殊用途的除错工具是Valgrind,用以发现存储器泄漏 (Memory leak)。而GNU测量器(gprof)可以得知程序中某些函数花费多少时间,以及其调用频率;此功能需要用户在编译时选定测量《profiling》选项。
[编辑] 参考书目及注释
* Richard M. Stallman:Using and Porting the GNU Compiler Collection, Free Software Foundation,ISBN 0-595-10035-X
* Richard M. Stallman: Using Gcc: The Gnu Compiler Collection Reference, Free Software Foundation, ISBN 1-882114-39-6
* Brian J. Gough:An Introction to GCC, Network Theory Ltd., ISBN 0-9541617-9-3
1. ^ Tower, Leonard (1987) "GNU C编译器beta测试版释出" comp.lang.misc USENET新闻组;参阅http://gcc.gnu.org/releases.html#timeline
2. ^ Stallman, Richard M.(1986年2月1日).GNU状态.GNU的公告版,1(1).自由软件基金会.
3. ^ Stallman, Richard M. (2001) "GCC贡献者名单"于使用及移植GCC 2.95版(Cambridge, Mass.: Free Software Foundation)
[编辑] 参阅
[[File:|36x32px|自由软件主题]] 自由软件主题首页
GCC目前包含了Boehm GC,一个为C/C++ 所设计的垃圾回收器。
* distcc - 为分布式编译所设计的软件,以GCC为协同软件。
* LLVM - 低层虚拟机编译器架构。
* MinGW - 将GNU开发工具移植到Win32平台下的计划
* Cygwin - 在Windows上运行GNU程序的模拟软件。
* GCC Summit
* OpenWatcom - 另一个开放原码的C++/Fortran编译器。
* Code Sourcery - 一个GCC顾问公司。
* ggcc - 全球化GCC项目。
[编辑] 更多阅读
* Arthur Griffith, GCC: The Complete Reference. McGrawHill/Osborne. ISBN 0-07-222405-3.
* Kerner, Sean Michael.Open Source GCC 4.0: Older, Faster,internetnews.com,2005年4月22日.
* Kerner, Sean Michael.New GCC Heavy on Optimization,internetnews.com,2006年3月2日.
[编辑] 外部链接
* GCC官方网站
* GCC Forum - 由Nabble维持,整理所有gcc通信讨论串,并集成入一个可搜索接口中。