实验四Linux系统下C编程.ppt

实验四Linux系统下C编程.ppt

ID:51489320

大小:257.50 KB

页数:38页

时间:2020-03-24

实验四Linux系统下C编程.ppt_第1页
实验四Linux系统下C编程.ppt_第2页
实验四Linux系统下C编程.ppt_第3页
实验四Linux系统下C编程.ppt_第4页
实验四Linux系统下C编程.ppt_第5页
资源描述:

《实验四Linux系统下C编程.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、GCC的使用与开发主要内容gcc简介功能命令安装利用gcc编译c程序利用make工具简化编译过程make简介Makefile基本格式调试静态调试动态调试gdb调试工具的使用gcc简介简介:Linux系统下的gcc(GNUCCompiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。安装首先查看linux系统是否安装了gcc,#rpm–qa

2、grepgcc如果没有安装,需要安装gcc-3.2

3、.2-5,libgcc-3.2.2,compat-gcc-7.3-2.96.118,gcc-g77-3.2.2-5几个软件包。对C/C++编译的控制(GCC的编译过程)预处理(Preprocessing)gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。编译(Compilation)Gcc调用cc1进行编译,这个阶段根据输入文件生成汇编语言。汇编(Assembly)Gcc调用as进行工作,一般来讲,.S为后缀的汇编语言源代码文件和汇编、.s为后

4、缀的汇编语言文件经过预编译和汇编之后都生成以.o为后缀的目标文件。链接(Linking)Gcc调用ld来完成连接工作,生成可执行文件。gcc的使用基本使用格式$gcc[选项]<文件名>常用选项及含义gcc常用选项选项含义-ofile将经过gcc处理过的结果存为文件file,这个结果文件可能是预处理文件、汇编文件、目标文件或者最终的可执行文件。假设被处理的源文件为source.suffix,如果这个选项被省略了,那么生成的可执行文件默认名称为a.out;目标文件默认名为source.o;汇编文件默认名为source.s;生成的预处理

5、文件则发送到标准输出设备。gcc的常用选项gcc常用选项选项含义-c仅对源文件进行编译,不链接生成可执行文件。在对源文件进行查错时,或只需产生目标文件时可以使用该选项。-g[gdb]在可执行文件中加入调试信息,方便进行程序的调试。如果使用中括号中的选项,表示加入gdb扩展的调试信息,方便使用gdb来进行调试-O[0、1、2、3]对生成的代码使用优化,中括号中的部分为优化级别,缺省的情况为2级优化,0为不进行优化。注意,采用更高级的优化并不一定得到效率更高的代码。-Dname[=definition]将名为name的宏定义为defi

6、nition,如果中括号中的部分缺省,则宏被定义为1gcc的常用选项gcc常用选项选项含义-Idir在编译源程序时增加一个搜索头文件的额外目录——dir,即include增加一个搜索的额外目录。-Ldir在编译源文件时增加一个搜索库文件的额外目录——dir-llibrary在编译链接文件时增加一个额外的库,库名为library.a-w禁止所有警告-Wwarning允许产生warning类型的警告,warning可以是:main、unused等很多取值,最常用是-Wall,表示产生所有警告。如果warning取值为error,其含义

7、是将所有警告作为错误(error),即出现警告就停止编译。gcc文件扩展名规范gcc可以根据文件扩展名执行操作gcc文件扩展名规范扩展名类型可进行的操作方式.cc语言源程序预处理、编译、汇编、链接.C,.cc,.cp,.cpp,.c++,.cxxc++语言源程序预处理、编译、汇编、链接.i预处理后的c语言源程序编译、汇编、链接.ii预处理后的c++语言源程序编译、汇编、链接.s预处理后的汇编程序汇编、链接.S未预处理的汇编程序预处理、汇编、链接.h头文件不进行任何操作.o目标文件链接使用gcc编译代码源代码示例源程序——hello

8、.c#includeintmain(void){printf("hellogcc!r");return0;}生成预处理文件命令$gcc–Ehello.c–ohello.i预处理文件hello.i的部分内容......externvoidfunlockfile(FILE*__stream);#679"/usr/include/stdio.h"3#2"hello.c"2intmain(void){printf("hellogcc!");return0;}生成汇编文件命令$gcc–Shello.c–ohell

9、o.s汇编文件hello.s的部分内容......main:pushl%ebpmovl%esp,%ebp........addl$16,%espmovl$0,%eaxleaveret......"编译多个文件文件清单greeting.h#ifnde

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

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

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