RH资源编译工具
C语言是比较基础的语言,很多编程软件都可以接受C的编程的。但C的东西不多,哪个软件都能完全容纳它,所以用哪个软件都OK的了,主要是看个人喜好和你以后发展方向来选择的。如果你以后还想学VC++的话或者你要过计算机二级,那现在就下VC6.0 。如果你想做网站的话就下VS2008(或VS2005)。linux的GCC 作为一个初学者,应该还不会涉及到的。
B. 都有哪些好的c语言编译器阿
1. GCC
大名鼎鼎的GNU的C/C++/Obj-C编译器, 当前版本是2.8.1, 但据说与2.7.*有兼容性
问题. 而使用较广的是gcc 2.7.2系列, 如RedHat5中带的就是gcc 2.7.2.3
有时候在Cyrix上用gcc会有些问题, 因此有一套针对Cyrix特点的gcc 2.7.2.3
我这里有RedHat5的rpms ftp://166.111.68.98/pub/Warez-CD/Huricane-contrib
(Cyrix 2.7.2.3 & 2.8.1)
其基本结构就是一个front end和back end,
/usr/bin/gcc 就是个front end, 其kernel东西都放在 /usr/lib/gcc-lib下面,
cpp是C预处理器, cc1*的1M多的就是编译器的核心模块了
cc1 C compiler
cc1plus C++ compiler
cc1obj Object-C compiler
但gcc并没有集成Fortran的compiler, 一般要用f2c转成C后才用gcc编译
好象也还有个g77 Fortran compiler吧?
gcc的不断发展完善使许多commercial compiler都相形见绌, 那当然, gcc/emacs
都由GNU创始人Richard Stallman手创, 是GNU的旗舰产品, 质量当然没得说了:-)
由于 Unix平台的高度可移植性, gcc几乎在各种常见的Unix平台上都有, 即使是
Win32/DOS也有gcc的port. 比如说该死的Solaris普通版本连compiler都没有, 也
就只好用gcc了...
2. EGCS(Experimental/Enhanced GNU Compiler System)
这是gcc的发展方向, 把fortran等编译器集成进来, 也许还会有Pascal?
它的构造很清晰, 把对gcc的各种改进/port都集成回去. 如gcc 2.7系列据说是
没有对Pentium进行优化的, 而egcs则把pgcc对Pentium的一些优化集成进去了
现在gcc的开发工作主要就是egcs, 由Cygnus公司领导(?), 这Cygnus公司还是很
不错的, 还出了GNU-Win32, SourceNavigator等, 是GNU的坚实拥护者:-))
http://egcs.cygnus.com
包括了C/C++/Obj-C/Fortran 编译器, 当前最新版本1.0.2, 还在不断开发中
昨天download发现KDE Beta4都用egcs编译了 :-)
Fortran集成进来后在/usr/lib/gcc-lib下又多了个f771的back end, 当然
还是g77/f77 编译
我这里有egcs 1.0.2 的rpm 在RH5-CD/collect下面
3. PGCC(Pentium GCC)
http://www.gcc.ml.org
针对Pentium CPU进行了编译器优化的compiler
pgcc据说用JPEG压缩解压缩测试最快可比gcc快 30%!
新版的pgcc都是基于egcs的, 以一个patch的形式release
C. cs+编译器如何仿真
打开CS+ ,双击选择RH850 E1(LPD)(Debug Tool)->Download File Setting->Debug Information->Excute to the specified symbol after CPU Reset->No,在连接仿真器运行之后,将会从 jr32 __start ; RESET 处开始执行。
步骤
1、添加编译路径:添加完成后可在主文件中直接添加头文件,不需要带路径;
2、仿真:仿真之前先检测驱动是否安装成功;
3、仿真器的接线图:同样的标号要短接,就是把E1的2、12、14 接一起,变成1个GND接到板上,电源8、9接一起,reset10、13接一起;
4、选择仿真器是否自带电源(5v or 3v);
5、选用的时钟为系统默认内部时钟并且要在DEVICE中选择。
D. rhce课程
1. linux红帽认证 需要什么教材,去哪考试.
linux红帽认证一般当地的培训机构就可以报名考试的。
需要turbolinux用户基础,turbolinux系统管理和turbolinux网络管理这三张证书,同时也就需要这三本教材,等这三张证书都过了以后就会发一张"turbolinux认证工程师"证书。
红帽RHCE认证考试是指以故障排除和系统维护以及安装和配置等实际操作能力为基础的红帽认证考试,主要考察考生在现场系统中的实际能力。
要获得RHCE认证,考生只有先通过了RHCSA,才能考取RHCE。
要参加RHCA考试,考生必须已经获得RedHat认证工程师(RHCE)证书。
(1)rhce课程扩展阅读:
红帽企业架构师课程主要面向那些负责部署和管理大型企业环境中众多系统的高级Linux系统管理员提供深入的实际操作培训。
红帽认证架构师是红帽公司继红帽认证技师和红帽认证工程师,认证之后推出的最新顶级认证,也是Linux领域公认的最受欢迎的、最成熟的认证。
RH401培训旨在提高在部署和管理红帽系统方面的技能水平和竞争力,以满足企业在可靠性,可用性,可扩展性和可管理性(RASM)方面的标准。
RH423培训面向RHCE水平的专业人士,目标是提高基于红帽企业Linux系统的部署和管理目录服务的技能水平和竞争力。课程的核心围绕理解,配置和管理基于LDAP的服务。
2. rhce要考几门课程一共需要多少钱
考试包括上午和下午,上午考:10个题都是动手的,搞定8个就可以了 2.5h
下午是一个系统安装的要求,要求完成系统的安装和部分服务的配置 3.0h
标准费用2800
3. RHCA是什么
再补充点,如果你要考过rhca,就得先考过RHCE,然后才能考RHCA,而且你得考过以下五门课程,才能够获得RHCA证书
RHS333 Red Hat企业级网络服务安全管理
RH401 Red Hat企业级系统管理及部署
RH423 Red Hat企业级目录服务及身份认证
RH436 Red Hat企业级存储管理
RH442 Red Hat企业级系统优化及调整
4. 学习rhce和学习ocp有联系吗 我现在的课程是ccna+ocp+rhce 我目前不想考证
ccna - cisco 认证体系 (思科设备,路由,交换)
ocp - oracle 认证体系 (数据库)
rhce - red hat linux 认证体系 (操作系统)
虽然都属于IT范畴专,但是三个课程之属间的内在联系不是很多,几乎没有。
5. 有人上过东方瑞通的RHCE课程培训吗
不知道,最近也想参加这个培训呢,我去中软的看了看,说是三个人可以打折,还有就是不知道明年降不降价。可以的话我们联系一下oneword@163
6. 请问学完一套包含了红帽RHCE,思科CCNP,oracle OCP和微软MCITP的课程之后,毕业好找工作吗往什么方向
很牛掰,不知道楼主能不能坚持下来
只是CCNP学费加考试就几K了,要敲好久的命令了
不过回engineer还是要实践经验的,答不然考出来也是paper。不过比没有证书还是强不少
苏州4年左右CCIE一般8K-2W
7. rhce是什么
RHCE认证目录:
概述
RHCE课程设置
RHCE认证考试内容及流程
RHCE认证考试费用
RHCE证书价值及适合就业领域
行业内的人才需求与现状
概述
1、 RHCE认证:RHCE是Red Hat Certified Engineer的简称,即红帽认证工程师。(RHCE)认证展示了高级系统管理员应掌握的技能。一名红帽认证工程师除了要掌握红帽认证技师具备的 所有技能,还应具有配置网络服务和安全的能力,他/她应该可以决定公司网络上应该部署哪种服务以及 具体的部署方式。
2、 RHCE认证包括DNS、NFS、Samba、Sendmail、Postfix、Apache和关键安全功能的详细内容。始于1999年3月。红帽认证工程师(RHCE)和红帽认证技师(RHCT)是以实际操作能力为基础的测试项目,主要考察考生在现场系统中的实际能力。
红帽企业简介
红帽是全球领先的开放源码供应商,红帽企业Linux产品占全球Linux市场80%以上的市场份额。红帽更理解开放源码,了解如何提高系统的性能、可靠性,懂得如何通过技术创新控制和节约成本。
红帽软件(北京)公司于2004年11月设立。作为红帽公司的全资子公司,红帽软件(北京)公司将为中国用户提供更加快捷和优秀的本地技术支持。
红帽公司是开源领域的领导者,是最为纯粹100%产品开源公司,在开源社区,红帽的工程师和技术人员在代码提交和其他方面对社区的贡献最大。作为最优秀的开放源码系统提供商,红帽在开放源码社区的各个方面作出了重大的贡献,如Linux,GNU和Apache Web服务器等。许多Red Hat的员工本身就是杰出的开放源码开发人员和开源社区的会员。
红帽中国将致力于推动中国企业信息化建设和中国Linux行业的发展,为中国用户提供更好的产品及服务。据IDC预计,在2008年发布的所有服务器中,基于Linux的将会占29%,共计97亿美元,而中国Linux市场2005年到2009年的年平均增长率将为23.9%,其中Red Hat 市场份额为19.7% ,并保持增长态势。
在红帽公司2006年6月份完成对开源中间件的领导厂商 JBoss的收购后,JBoss已经成为红帽公司重量级的应用服务器产品,从此开源系统架构已经能够支持整个IT系统。JBoss是一个同时运行Web及EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范,无论是学习还是应用,JBoss为我们提供了一个非常优秀的平台。
红帽的客户包括企业、学术研究、科研机构和 *** 部门。全球用户包括:Amazon, AOL(美国在线), Merrill Lynch(美林), Credit Suisse First Boston(瑞士信贷第一波士顿), DreamWorks(梦工厂), Lithonia Lighting, VeriSign(威瑞信), Charles Schwab(嘉信理财), Lehman Brothers(雷曼兄弟), UBS Warburg(瑞银华宝), Man Stanley(摩根斯丹利), Goodyear(固特异)等;中国主要客户包括中国建设银行,平安保险,中国电信,中石油,宝钢,李锦记,中国气象局,芒果网等各行业;主要合作伙伴包括IBM, Dell, HP, Oracle, Sun, Fujitsu, Intel, NEC, Hitachi, BEA等。
到目前为止,红帽得到超过750家硬件认证和2200家软件企业应用认证,支持各种主流硬件,以及应用软件。作为全世界最大的开源产品和服务供应商,红帽公司致力于发展和全世界各国的教育培训机构的长远合作关系。
RED HAT是全球最大的开源技术厂家,其产品RED HAT LINUX也是全世界应用最广泛的LINUX。RED HAT公司总部位于美国北加利福尼亚。在全球拥有22个分部。对于RED HAT来说,开放源代码已经不只是一个软件模型,这正是RED HAT的商业模式。因为RED HAT坚信只有协作,企业才能创造出非凡质量和价值的产品。
迄今为止,RED HAT已经为全球30万台服务器提供500万套软件,成为全球企业最重要的LINUX和开源技术提供商,此外:
* RED HAT是目前全球最先自负盈亏的LINUX企业,NASDAQ上市公司,银行现金高达29亿美元;
* RED HAT是唯一获得全球顶尖ISV(独立软件提供商)广泛支持的LINUX厂商;
* 是COMPAQ, DELL, IBM, INTEL等一流的IT企业的合作伙伴;
* RED HAT拥有52%的LINUX操作系统市场份额;
在RED HAT的300名工程师中,有6名来自于全世界最顶尖的10名LINUX核心开发者,7名来自全球最出色10名LINUX开发工具工程师。全世界,也许只有RED HAT能够把LINUX和开源技术以及企业级的培训、技术支持和咨询融合得如此美妙。RED HAT的培训及认证被认为是LINUX认证的标准。
课程设置
首先来认识一下REDHAT LINUX的课程设置。《国际IT认证中的一匹黑马---RHCE.DOC》中说过,RED HAT官方将RHCE考试分为两个级别:专家级和标准级。其中标准级是针对大多数没有UNIX/LINUX系统管理经验的考生设置的,主要有三门课程:RH033(RED HAT LINUX入门知识)针对MCSE、MCP、CNE等没有UNIX/LINUX使用经验的考生开设,RH133(RED HAT管理员入门)针对有基本命令行使用经验的考生开设,RH253(RED HAT网络管理与安全管理入门)针对那些通过了RH133考试、还想继续掌握关键的网络服务设置及安全控制的考生设置。
一. RH033 RED HAT LINUX 基础课程
课程描述:
适用于LINUX的新使用者,他们希望了解并掌握基本知识,以顺利使用他们自己的RED HAT LINUX系统。完成此课程后,RED HAT LINUX使用者可高效率地使用及自订RED HAT系统,并执行常见的指令行处理与各种桌面工作。
适应参加人群:
没有在LINUX或UNIX的指令行经验而想提升为使用和定做他们自己的RED HAT LINUX工作站技能的人。
二.RH133 RED HAT LINUX 系统管理
课程描述:
为LINUX或UNIX的用户想开始开发RED HAT LINUX上的系统管理,到达可以配置现有网络的水平。参见以下细节。
课程目标:
能执行标准的系统管理任务, 为一个现有网络安装、配置一台新的有RED HAT LINUX 工作站的操作员。
适应的参加人群:
在开始成为系统管理员之前,了解RED HAT LINUX 基本知识并渴望比较进一步的技术训练的LINUX OR UNIX 用户。
预备知识:学习本课程,您必须具备以下能力
RH033 RED HAT LINUX要点或RED HAT LINUX的等效经验。
三.RH253 RED HAT LINUX 网络及安全管理
课程描述
为LINUX或UNIX的用户想开始开发RED HAT LINUX上的网络管理,到达可以配置现有网络和安全管理的RED HAT LINUX水平。参见以下细节。
课程目标:
那些想设置RED HAT LINUX服务器和配置及设定一般网络服务安全的系统管理员。
适应的参加人群:
适合有实际工作经验的LINUX 或UNIX系统管理员有兴趣尝试在RED HAT LINUX环境下设定系统管理、网络服务和网络安全等。
预备知识:学习本课程,您必须具备以下能力
RH133 RED HAT LINUX 系统管理 或RED HAT LINUX等效经验;LAN/WAN基本原理或等值;用TCP/IP来互联工作或等值。
考试内容及流程
在各家国际性的技术认证制度当中,由 RED HAT 公司所推出的RHCE ( RED HAT CERTIFIED ENGINEER ) 认证其最大之不同点及其价值,即在于强调受测考生于受测时实际动手的 PERFORMANCE-BASE 测验方式,完全根据 RED HAT LINUX 平台上真正必要的各种网络服务进行安装、组态、除错、以及设定各种网络环境,实务操作能力测验。
参加RHCE考试整个考试过程大约六小时,当中约有一个小时用来作答技术性多重选择题,其余则是偏重在由考生自己动手做之实力测验。每一单元考试皆为闭卷进行,同时严禁考生做笔记抄写题目及答案。考题皆为实况演出,考生必须懂得规划、判断并提出解决方案才能通过测验。
RHCE认证考试有6小时长,要用去应试人员一天的时间。考试分3个部分,其中包括:
·1、涉及2到4个问题的调试测验(Debug Exam);该考试时长2.5小时(满分100),目的是检验应试者的综合技术能力。
·2、多选题测验,总共有40到50道技术问题,时长1个小时(满分100)。
·3、服务器安装和网络服务设置测验,也是综合的技术能力考试,时长2.5个小时(满分100)。
为了通过考试,应试人员必须在全部三部分考试中平均得到80分,而且其中任何一部分的得分都不能低于50分。该项考试只在Red Hat认证培训中心举办,08年价格是750美元。全美和加拿大已经设立了21个此类培训中心。在中国,北京、上海、广州、成都等地也已有官方授权培训中心建立。
考试费用(09年最新价格):培训+考试费用:6800元 (包括原厂教材及考试费用)
RHCE证书的价值及就业领域
RHCE认证在linux行业里属于含金量较高的一个认证,适应的就业领域也较多,如:互联网架构师、安全架构师、运维架构师、系统集成架构师、系统工程师、售前工程师等。
职业特征分析:
Linux平台的管理或者开发人员明显比Windows平台少很多,但是无论是国内,还是国际上对Linux技术人才的需求却超乎人们的想象。一方面是因为当前IT行业的去向朝着互联网和数据中心发展,企业寻求在Linux平台上构筑整个企业信息化基础,比如Google仅2005年就已经拥有200万台Linux服务器,甚至微软这样的巨人都要谋求收购yahoo来维持新互联网时代的优势,近两年的全球Linuxworld大会,微软更是毫不避讳的出现在会场,可见Linux对行业带来的振动。
另一方面因为Linux平台太不宜上手,不经历很长时间的磨练或没有专业人士指导,进步很慢。成材比例比Windows平台人才低很多,尤其是掌握高级技能的人才,能够提供行业解决方案的架构师。更是少之又少。目前很多所谓Linux人才多数对Linux下常见的一些服务浅尝即止,根本违法利用大量的开源软件资源,更没有受到过整个开源产业链上各种技术的锤炼。很多互联网公司因为人员素质问题,对于Linux及开源的应用仍是落后的。而且同时对UNIX/Linux系统、Oracle数据库都熟悉的技术人才更加少。
行业内的人才需求与现状
我国 Linux 正发展到一个关键时期,瓶颈效应也越来越明显。我们尴尬地发现,Linux 专业人才,尤其是本地化的专业人才远远不如 Windows 系统下的人才——不论是数量还是质量。
对于我国 Linux 面临的这一挑战,倪光南院士曾一针见血地指出,人才决定一切,有了更多、更好的 Linux 开发人员,就会促进 Linux 在中国的普及。相反,如果大多数开发人员都只懂 Windows ,那么 Linux 就很难发展了。
前中国 Linux 的应用水平还落后于发达国家,主要表现在我国熟悉 Linux 的人员不多,在 Linux 上开发的应用不丰富,中国人对于 Linux 的贡献还很少等。
随着 Linux 在国内的日益普及,企业对 Linux 人才的需求也会持续升温,并且表现在层次上也更加丰富。比如,在系统级的数据库、消息管理、 Web 应用方面,在桌面办公方面、在各种嵌入式开发方面等等。Linux 相关人才可以获得的薪水,也普遍比Windows相关人才多20-30%。
上述说法可以在中国知名的招聘网站51job 上做一个验证。在这家网站上比如北京地区的IT人才招聘中,分别键入关键字“Windows” 和“Linux”,全国所有招聘信息中,可以看到关键字“Windows”人才需求是10134人,关键字“Linux”人才需求是11100人,两个数字基本持平,但从市场上的人才供应量来看,Linux人才还呈现大比例短缺的状况。(
8. 网络网盘下载的尚观RHCE课程培训112集完整版.zip有密码 有人知道是啥吗
oracle
9. RHCE要学哪些内容和课程
RHCE的课本都是英文的。。
要学的课程是 linux基本操作, 服务器配置,内核编译,基本的shell编程
10. RHCE认证的课程设置
首先来认识一下REDHAT LINUX的课程设置。《国际IT认证中的一匹黑马---RHCE.DOC》中说过,RED HAT官方将RHCE考试分为两个级别:专家级和标准级。其中标准级是针对大多数没有UNIX/LINUX系统管理经验的考生设置的,主要有三门课程:RH124(RED HAT LINUX入门知识)针对MCSE、MCP、CNE等没有UNIX/LINUX使用经验的考生开设,RH134(RED HAT管理员入门)针对有基本命令行使用经验的考生开设,RH254(RED HAT网络管理与安全管理入门)针对那些通过了RH134考试、还想继续掌握关键的网络服务设置及安全控制的考生设置。 课程介绍
RHCE培训红帽系统管理I(RH124)针对不了解Linux的IT专业人员而设计的。课程旨在对生产环境的工作任务进行详细讲解,模拟工作环境推动学员学习积极性,通过大量实践建议学习成果,同时培养学员学习能力、动手能力。RHCE6.0培训课程主要基于图形工具使得学员可以快速入门,逐步适应命令行工作方式。参加RHCE6.0培训后,学员将能够执行安装操作系统、建立网络连接、管理物理存储设备,并执行基础的安全管理任务。
适合人群
针对需要快速掌握核心红帽企业版Linux能力的Microsoft Windows系统管理员,需要使用Linux进行日常管理工作的系统管理员、网络管理员和其他IT专业人员,希望成为全职Linux系统管理员的非Linux IT专业人员。
培训目标 操作系统的安装 管理磁盘设备 命令行简介 安装和配置本地组件与服务 建立网络,确保网络服务的安全 管理和保证文件的安全 管理用户和组 部署文件服务 课程概述
包含RHCSA考试的红帽系统管理II考试 Exam (RH135) ;
在系统管理I基础上深入学习企业Linux,能够对文件系统和分区进行管理和故障排除,逻辑卷管理、接入控制和程序包管理。参加红帽系统管理I和II的学员将为参加红帽系统管理(RHCSA)考试做好充分准备。
适合对象
已经参加红帽系统管理I,并希望成为全职企业Linux管理员和/或获得RHCSA认证的IT专业人员
培训目标 网络配置与故障排除 管理文件系统和逻辑卷 控制用户和文件访问 安装和管理服务与流程 基本命令行操作 故障排除 课程概述
包含RHCE考试的红帽系统管理III考试 Exam (RH255) ;通过本课程学习可以安全配置部署与管理Linux网络服务,包含DNS、Apache、SMTP和网络文件共享;此外本课程注重安全性,包括监控、数据包过滤、接入控制和SELinux。本课程学完可以参加RHCSA和RHCE考试。
适合对象
需要网络和安全管理的高级Linux系统管理员
拥有RHCE或者RHCSA证书或具备同等能力的LINUX专业人员
培训目标 增强用户安全 利用iSCSI 进行磁盘管理 系统与网络活动监控 网络管理与数据包过滤 软件管理 Web服务管理 跨平台文件共享 基本SMTP管理
E. C语言编译器有哪些各有什么特点
C语言编译器目前主要有VC++、dev-C++、C-Free、win-TC、TC 2.0等等。
其中比较经典的VC++,微软的产品,编译器,链接器,运行,调试等功能于一体的强大开发工具,特点是功能十分强大,对于新手来说需要一段时间去摸索。
dev-C++是windows下一款开发c/c++的开发环境,使用gcc为编译器,遵循标准,功能比较强大,语法高量,可以进行单步调试(这对排除错误很重要),进行断点设置等功能,遵循C标准,是一款很强大的开发工具。
C-Free是一款支持多种编译器的专业化C/C++集成开发环境(IDE)。利用C-Free,使用者可以轻松地编辑、编译、连接、运行、调试C/C++程序。
TC 2.0:Borland公司的产品,在dos界面下编译运行,小巧、灵活,但是不能使用鼠标。
win-TC:在tc2.0的基础上加上了界面,能够使用鼠标,具有语法高量,可以嵌入汇编等特点,对新手一些,拜托了不能用鼠标的困难。
编译器,简单讲,就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器(Linker) → 可执行程序 (executables)。
F. 如何在linux中安装gcc编译器
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}目录。
G. 如何在Windows下编译或调试Mysql
用vs code 就可以了。
Visual Studio Code
Visual Studio Code(简称VS Code)是由微软开发的,同时支持Windows、Linux和macOS操作系统的开源文本编辑器。它支持调试,内置了Git 版本控制功能,同时也具有开发环境功能,例如代码补全(类似于IntelliSense)、代码片段、代码重构等。该编辑器支持用户自定义配置,例如改变主题颜色、键盘快捷方式、编辑器属性和其他参数,还支持扩展程序并在编辑器中内置了扩展程序管理的功能。
安装LLDB
LLDB是LLVM编译器的一部分,推荐使用Homebrew安装LLVM工具集,不建议使用系统自带的LLDB,安装前必须先创建证书否则无法安装,步骤如下:

创建完成后,开始安装LLVM
brew install llvm --with-python@2--with-lldb
安装插件
VS Code自带有debug功能,这里我推荐使用LLDB Debugger插件。
接下来,为项目配置调试参数。
配置调试参数
使用VS Code打开MySQL源码目录,在侧边栏选择debug栏目,添加配置,program输入需要调试的程序路径,这里选择你编译好的mysqld路径,args输入程序启动所需的参数,通常会指定mysqld的配置文件。这样就配置好了,是不是很简单。
启动调试
点击启动按钮,启动后如果没有设置断点会mysqld会正常启动,如果触发了断点会如下图显示。
整个调试窗口基本分为六部分,所有的调试操作都在这里完成:
1:显示变量信息
2:设置重点关注的变量
3:显示调用栈信息
4:设置断点信息,在代码行号前也可以设置断点
5:代码显示区域,上方是调试按钮,包括 continue/stepover/step in/step out/restart/stop
6:调试终端输入输出区
断点设置
在代码行号前点击即可在该行为设置断点,也可以根据条件设置断点。以设置ConditionalBreakpoint为例,当程序启动后会按照你设置的条件表达式判断是否触发断点。
Conditional Breakpoint这种方式用在目标变量达到某条件时触发断点,其余则跳过继续执行。比如:设置变量等于目标表名时触发断点,其余表则跳过,相对函数名断点省去很多手工跳过操作。
远程调试
假如你想调试远程Linux服务器上的MySQL上面的方法就不合适了,这时需要远程调试。lldb和gdb都支持远程调试,这里以lldb为例。
需要先在远程主机上安装lldb,使用yum安装,源地址在这里http://mirror.centos.org/centos/7/sclo/x86_64/rh
remote$ yum install -y llvm-toolset-7
安装完成后,启动lldb-server
remote$ /opt/rh/llvm-toolset-7/root/usr/bin/lldb-serverplatform --listen"*:9191"--server
接下来,在VS Code调试界面中新增配置项。
{
"type":"lldb",
"request":"attach",
"name":"Remote attach",
"program":"~/mysql5626/usr/local/mysql/bin/mysqld",
"pid":"<target_pid>",
"initCommands": [
"platform select remote-linux",
"platform connect connect://<remote_host>:9191"
],
"sourceMap": {
"/export/home/pb2/build/sb_0-15908961-1436910670.17/mysql-5.6.26":"/Users/hongbin/workbench/mysql-server"
}
},
program:本机也要拷贝一份目标程序,加载
pid:填写远程主机的mysqld进程id
sourceMap:填写mysqld编译的代码路径与本机代码库路径的映射,这样调试时代码才可以和程序关联在一起看
注意:记得调试前将代码切换到与目标程序版本一致的branch
