- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章节 Linux GCC
第3章 Linux GCC/G++编译器与调试器 编译器是将易于编写、阅读和维护的高级计算机语言翻译为计算机能解读、运行的低阶机器语言的程序。调试器是用于查找源代码中的错误,测试源代码和可执行文件的工具。GNU项目提供了GCC编译器、G++编译器和GDB调试器,这些程序是在Linux系统上使用C和C++语言进行开发的重要工具。本章将介绍这些工具的安装和使用方法。 3.1 GCC/G++编译器 GCC是GNU项目中的一个子项目,最初为用于编译C语言的编译器。随着GNU项目的发展,GCC已经成为了能编译C、C++、Ada、Object C和Java等语言的GNU编译器家族,同时还可执行跨硬件平台的交叉编译工作。G++则是专门用来编写C和C++语言的编译器。C和C++语言正在不断发展,为了保持兼容程序语言的最新特性,开发者通常选择GCC来编译C语言编写的源代码,选择G++来编译C++源代码。 3.1.1 GCC/G++编译器安装 安装或更新GCC和G++可在GNU项目的官方网站()去下载相应的安装包,也可以使用YUM软件包管理器安装。安装GCC和G++的命令如下: yum install make // 安装make程序 yum install gcc // 安装GCC编译器 yum install gcc-c++ // 安装G++编译器 注意:如果安装过程中提示需要选择编译器版本,可根据当前硬件平台选择最新发布的版本。另外,如果提示需要安装其他相关软件包,请一并安装。 3.1.2 GCC/G++编译命令 GCC/G++编译器没有图形界面,只能在终端上以命令方式运行。编译命令由命令名、选项和源文件名组成,格式如下所示: gcc [-选项 1] [-选项 2]…[-选项 n] 源文件名 g++ [-选项 1] [-选项 2]…[-选项 n] 源文件名 命令名、选项和源文件名之间使用空格分隔,一行命令中可以有多个选项,也可以只有一个选项。文件名可以包含文件的绝对路径,也可以使用相对路径。如果文件名中不包含路径,那么源文件被视为存在于工作目录中。如果命令中不包含输出的可执行文件名称,默认情况下将在工作目录中生成后缀为“.out”的可执行文件。 3.1.3 GCC/G++编译选项 GCC拥有一百多个编译选项。对于C语言和C++语言,G++与GCC的编译选项基本相同。常用的GCC和G++编译选项见表3.1所示: 3.1.4 GCC/G++编译器执行过程 GCC和G++编译器执行过程可总结为四步:预处理、编译、汇编、连接。在预处理过程中,编译器会对源代码中的头文件和预处理语句进行分析,生成以“.i”为后缀的预处理文件。 3.2 程序和进程 程序和进程是操作系统中的重要概念,程序是可运行的一组指令,程序以二进制代码的形式保存在存储设备中。操作系统运行程序后,该程序在内存中的映像就是进程,进程是活动的程序。 3.2.1 程序 程序是指一组指示计算机或其他具有信息处理能力设备每一步动作的指令。Linux系统下的应用程序主要由两种特殊类型的文件代表,分别是可执行文件和脚本程序。可执行文件是能够被计算机直接执行的程序,相当于Windows系统中的exe文件。使用C和C++语言设计的程序编译后即是可执行文件。Linux系统不要求可执行文件使用特定的扩展名,文件是否能被执行由文件的系统属性来决定。 3.2.2 进程和PID 进程是一个具有独立功能的程序关于某个数据集合的一次可以并发执行的运行活动,是处于活动状态的程序。进程作为构成系统的基本元件,不仅是系统内部独立运行的实体,而且是独立竞争资源的实体。 在Linux系统中,用户创建进程时会先在系统的进程表中为进程创建独一无二的编码,即PID。PID是一个正整数,取值范围在2到32768之间。进程创建时会顺序挑选下一个未使用的编号数字作为自己的PID,如果他们已经经过一圈的循环,新的编码重新从2开始。数字1一般是为特殊进程init保留的,它负责管理其他的进程。 …… 3.3 ANSI C标准 C语言诞生后的很长一段时期内,并没有针对C语言制定严格的标准。不同编译器可能使用不同的语法规则或数据结构,此状况对程序的移植带来很多麻烦。于是,美国国家标准协会(ANSI)决定统一C语言的标准,并于1989年颁布《ANSX3.159-1989》标准文档,这一标准被称为ANSI C标准。ANSI C标准在订立时吸取了很多C++语言的内容,同时促使C语言支持多国字符集,其中包括各种中文字符集。ANSI C标准的推出使C语言保持着活力,成为最受开发者欢迎的开发语言。 3.3.1 函数原型 函数原型由函数的返回类型、函数名和参数三部分组成。例如第一行中ssiz
您可能关注的文档
- 第17章节计算机维修的基本知识.ppt
- 第1章节 Flex概述.ppt
- 第1章节 linux 简介.ppt
- 第1章节 Linux系统简介.ppt
- 第1章节 C语言基础.ppt
- 第1章节 企业管理概述.ppt
- 第1章节 命题逻辑[离散数学离散数学(第四版)清华出版社].ppt
- 第1章节 HTML基础.ppt
- 第1章节 C语言概述 C语言课件.ppt
- 第1章节 土方工程3.ppt
- 2023咸阳职业技术学院招聘笔试真题参考答案详解.docx
- 2023四川化工职业技术学院招聘笔试真题及参考答案详解.docx
- 2023哈尔滨职业技术学院招聘笔试真题及参考答案详解.docx
- 2023商洛职业技术学院招聘笔试真题及答案详解1套.docx
- 2023呼伦贝尔职业技术学院招聘笔试真题参考答案详解.docx
- 2023南阳农业职业学院招聘笔试真题参考答案详解.docx
- 2023天津公安警官职业学院招聘笔试真题带答案详解.docx
- 2023年上海电机学院招聘笔试真题参考答案详解.docx
- 2023年四川艺术职业学院招聘笔试真题参考答案详解.docx
- 2023安徽体育运动职业技术学院招聘笔试真题及答案详解一套.docx
文档评论(0)