- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux下的C/C++程序设计介绍 Linux编程实现步骤: $ vi hello.c 按下I进入编辑状态 输入以下内容 #include stdio.h main() { printf(“I try to use linux! \n”); echo “echo also can be used for output。\n” } Linux下的C/C++程序设计介绍 Linux编程实现步骤: 按ESC进入命令状态 输入:“:wq” 保存文件并退出 $ gcc -o hello.out hello.c 编译hello.c ,将并将文件输出到hello.out $ ./hello.out 你将会看到输出结果 I try to use linux! echo also can be used for output。 $ 2. gcc编译系统 GNU Compiler Collection, Richard Stallman, since 1987 一套多语言,多平台的编译器/链接器软件集合 Version 4.0支持Ada (GCC for Ada aka GNAT), C, C++ (GCC for C++ aka G++), Fortran (GCC for Fortran aka GFortran), Java (GCC for Java aka GCJ), Objective-C 主要支持平台:Alpha, ARM, Blackfin, System/390, x86 and AMD64, IA-64 i.e. the Itanium“, Motorola 68000, MIPS, PowerPC, SPARC Windows下的GCC环境 dev-c++, using MinGW 2. gcc编译系统(续) 目前Linux平台上最常用的C语言编译系统是gcc(GNU Compiler Collection) 常用文件名后缀及其表示的文件类型 2. gcc编译系统(续) 1.预处理阶段 预处理程序(Preprocessor)读取C语言源文件,对其中以“#”开头的指令(伪指令)和特殊符号进行处理。 伪指令主要包括文件包含、宏定义和条件编译指令。 2.编译阶段 编译程序(Compiler)对预处理之后的输出文件进行词法分析和语法分析,试图找出所有不符合语法规则的部分。在确定各成分都符合语法规则后,将其“翻译”为功能等价的中间代码表示或者汇编代码。 3.汇编过程 汇编程序(Assembler)把汇编语言代码翻译成目标机器代码的过程。 4.连接阶段 将一个文件中引用的符号(如变量或函数调用)与该符号在另外一个文件中的定义连接起来,从而使有关的目标文件连成一个整体,最终成为可被操作系统执行的可执行文件。 连接模式分为静态连接和动态连接。 2. gcc编译系统(续) gcc指令的一般格式为: gcc [参数] 要编译的文件 [参数] [目标文件] $ gcc f1.c f2.c (针对C语言源程序)执行完成后,生成默认的可执行文件a.out。 按照选项作用所对应的编译阶段,可将gcc的选项分为四组:预处理选项、编译选项、优化选项和连接选项。 1.预处理选项 2. gcc编译系统(续) 2.编译程序选项 3.优化程序选项 优化分为对中间代码的优化和针对目标码生成的优化。 4.连接程序选项 生成预处理文件命令 $gcc –E hello.c –o hello.i 2. gcc编译系统(续) 生成汇编文件 $gcc –S hello.c –o hello.s 2. gcc编译系统(续) 生成目标文件 命令: $gcc –c hello.c –o hello.o 生成可执行文件 命令: $gcc hello.c –o hello 运行程序 $./hellohello gcc! 2. gcc编译系统(续) gcc错误类型及对策 C语法错误:C语言的语法错误 头文件错误:找不到头文件head.h 连接库错误:找不到所需要的函数库 未定义符号:有未定义的符号 2. gcc编译系统(续) gcc调试总结 主要为语法错误: 输入错误; 类型匹配错误; 分析信息: 主要来自gcc编译时产生的提示信息 错误警告定位: 不一定在提示信息描述的地方; 综合分析提示信息及提示行的上下文环境,定位并修正错误、警告。 有的警告可以不用修复; Makefile的编写 对于大型程序,通常由成千上万个模块(子程序)组成,在编写过程中,人们希望对其中某个(些)模块的修改不要导致对整个程序的编译,这也是Makefile的一个主要功用之一。 Makefile举例 Makefile内容 factorial:main.o fa
您可能关注的文档
- 《ITEM系统介绍.ppt
- 《IT产品经理的职责所在.ppt
- 《IT基础运维.ppt
- 《ISA总线.ppt
- 《ITV的安装与常见故障分析20130708.ppt
- 《I╱O处理.ppt
- 《IT规划课程作业服装行业信息化要点研究20090615GS.ppt
- 《JavaScript经典教程.ppt
- 《JAVAWEB开发教程第二章Java开发环境及开发工具.ppt
- 《Java初体验.ppt
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江西省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年安徽省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年福建省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年广东省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河南省高考英语试卷(含答案解析)+听力音频.docx
- 2024年湖北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江苏省高考英语试卷(含答案解析)+听力音频+听力原文.docx
文档评论(0)