Linux操作系统-总复习-第十二章.ppt

Linux操作系统-总复习-第十二章.ppt

ID:51595290

大小:266.00 KB

页数:25页

时间:2020-03-25

Linux操作系统-总复习-第十二章.ppt_第1页
Linux操作系统-总复习-第十二章.ppt_第2页
Linux操作系统-总复习-第十二章.ppt_第3页
Linux操作系统-总复习-第十二章.ppt_第4页
Linux操作系统-总复习-第十二章.ppt_第5页
资源描述:

《Linux操作系统-总复习-第十二章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux操作系统总复习主要内容:12.1gcc简介12.2gcc编译器的用法和执行过程12.3makefile的结构12.4gdb调试程序12.5小结第十二章Linux基本编程12.1gcc简介gcc简介Linux系统下的gcc(GNUCCompiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。gcc的执行过程虽然我们称gcc是C语言的编译器,但使用gcc由

2、C语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤∶预处理(也称预编译,Preprocessing)编译(Compilation)汇编(Assembly)链接(Linking)Gcc编译器能将C、C++语言源程序编译成目标程序,然后将目标程序链接成可执行文件,如果没有给出可执行文件的名字,gcc将生成一个名为a.out的文件。在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。而gcc则通过后缀来区别输入文件的类别,下面我们来介

3、绍gcc所遵循的部分约定规则。gcc可以根据文件扩展名执行操作gcc文件扩展名规范扩展名类型可进行的操作方式.cc语言源程序预处理、编译、汇编、链接.C,.cc,.cp,.cpp,.c++,.cxxc++语言源程序预处理、编译、汇编、链接.i预处理后的c语言源程序编译、汇编、链接.s预处理后的汇编程序汇编、链接.h头文件不进行任何操作.o目标文件链接12.2gcc的用法在使用Gcc编译器的时候,我们必须给出一系列必要的调用参数和文件名称。Gcc编译器的调用参数大约有100多个,其中多数参数我们可能根本就

4、用不到,这里只介绍其中最基本、最常用的参数。基本使用格式$gcc[选项]<文件名>gcc常用选项选项含义-ofile将经过gcc处理过的结果存为文件file,这个结果文件可能是预处理文件、汇编文件、目标文件或者最终的可执行文件。假设被处理的源文件为source.suffix,如果这个选项被省略了,那么生成的可执行文件默认名称为a.out;目标文件默认名为source.o;汇编文件默认名为source.s;生成的预处理文件则发送到标准输出设备。基本使用格式$gcc[选项]<文件名>gcc常用选项选项含义-

5、c仅对源文件进行编译,不链接生成可执行文件。在对源文件进行查错时,或只需产生目标文件时可以使用该选项。-g[gdb]在可执行文件中加入调试信息,方便进行程序的调试。如果使用中括号中的选项,表示加入gdb扩展的调试信息,方便使用gdb来进行调试gcc常用选项选项含义-Idir在编译源程序时增加一个搜索头文件的额外目录——dir,即include增加一个搜索的额外目录。-w禁止所有警告-Wwarning允许产生warning类型的警告,warning可以是:main、unused等很多取值,最常用是-Wal

6、l,表示产生所有警告。如果warning取值为error,其含义是将所有警告作为错误(error),即出现警告就停止编译。编译单个文件文件清单:my_app1.c#include#defineN10voidgreeting(char*name);intmain(void){charname[N];printf("YourName,Please:");scanf("%s",name);greeting(name);return0;}voidgreeting(char*name){Prin

7、tf(“Hello%s!r“,name);}编译这个文件:gccmy_app1.c-omyapp1执行生成的可执行文件:#./myapp1YourName,Please:nihaoHellonihao!文件清单greeting.h#ifndef_GREETING_H#define_GREETING_Hvoidgreeting(char*name);#endifgreeting.c#include#include"greeting.h"voidgreeting(char*name)

8、{printf("Hello%s!r",name);}my_app.c#include#include"greeting.h"#defineN10intmain(void){charname[N];printf("YourName,Please:");scanf("%s",name);greeting(name);return0;}编译多个文件编译多个文件目录结构(1)编译命令$gccmy_app.cgreeting

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。