欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Linux编程GCC命令Makefile文件编写.ppt

    • 资源ID:70011877       资源大小:764.50KB        全文页数:32页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Linux编程GCC命令Makefile文件编写.ppt

    推荐资料LinuxC资源网站:ftp:/目录Linux编程概述GCCMakefile课程实践目录Linux编程概述GCCMakefile课程实践Linux编程概述Linux的编程语言开发过程Linux开发工具Linux的编程语言基本语言C、C+、Java脚本语言Perl、PHP、Bash开发过程编辑编译链接运行调试对源代码进行编辑,VI对源代码编译,生成目标程序,GCC将分散的模块组成一个可执行的整体运行编译好的程序./+目标文件名调试运行时的错误GDB链接-continue函数库分为静态库和动态库。静静态库:链接时,静态库的文件代码会被拷贝到可执行文件中。动态库:链接时,动态库的代码不会被加入可执行文件中,而是在程序被执行的时候加载。Linux开发工具编辑工具VI编译工具GCC目录Linux编程概述GCCMakefile课程实践GCC简介基本规则常用参数实例分析简介1/3GCC概述gcc是一个强大的工具集合,它包含了预处理器,编译器,汇编器,链接器等组件。它会在需要的时候调用其他组件。输入文件的类型和传递给gcc的参数决定了gcc调用具体的哪些组件。对于开发者,它提供的足够多的参数,可以让开发者全面控制代码的生成,这对嵌入式系统级的软件开发非常重要他可以处理C、C+、Fortan、Pascal、Objective-C、Java、Ada等。简介2/4预处理在该阶段,编译器分析处理源代码文件中的各种宏指令,如include,if等。编译在该阶段,GCC首先要检查代码的规范性、是否有语法错误等,在检查无误后,GCC把代码翻译为汇编语言。汇编在该阶段,编译器把编译生成的汇编代码转成二进制目标代码链接在该阶段,编译器把汇编阶段生成的二进制代码、程序中用到的库文件链接起来,生成可执行文件。简介3/4GCC的历史1984,FSF建立,GNU Project:开放系统支撑软件1985,GCC项目启动1987,GCC 1.0 release,C compiler1991,Linux项目开始发布1992,GCC2.0 release,C/C+1994,Linux1.0 release1997,EGCS。Architecture Related Optimization and C+support2001,GCC3.0 release,EGCS Merged,Multi Languages/targets2005,GCC4.0 release,IR Enhanced2007,GCC4.2 release,OpenMP support简介4/4GCC的特点支持多种编程语言-C/C+/Fortan/JAVA可移植性强:主要采用C语言编写交叉支持能力强Build,host and target处理器支持多X86/ia/MIPS/ARM/SPARC/应用范围广高性能计算、商用服务器、PC、嵌入式系统模块化设计前端+中间表示|后端,松耦合基本规则GCC的命令格式gcc options infile.c为后缀的文件,C语言源代码文件;.o为后缀的文件,是编译后的目标文件.s为后缀的文件,是汇编语言源代码文件;GCC常用参数介绍1/2常用选项:-c 编译为目标文件,不连接库-S 编译为汇编代码-E 预处理.预处理之后的代码将送往标准输出-Wwarn.设置警告,可以设置的警告开关很多,通常用-Wall开启所有的警告-O level:设置优化级别,level可以是0,1,2,3或者s,默认为-O0,即不进行优化处理.-Dname=definition:在命令行上定义宏,有两种方式,-Dname或者-Dname=definition.在命令行上设置宏定义的目的主要是为了在调试的时候设定一些开关,而在发布的时候再关闭或者打开这些开关即可,当然宏定义也用来对代码进行有选择地编译.另外也还有其他的一些作用.GCC常用参数介绍1/2-Uname 取消宏定义name,作用和上面的正好相反.-Idir.把dir加到头文件的搜索路径中,而且gcc会在搜索标准头文件之前先搜索dir.-llibrary 在连接的时候搜索library库.库是一些archieve文件-其成员是目标文件.如果有文件引用library,library在命令行的位置应该在那个文件之后,因此,越底层的库越要放在后面.比如如果你要连接pcap库,那么你就需要使用-lpcap对源文件进行编译.-Ldir.把dir加到库文件的搜索路径中,而且gcc会在搜索标准库文件之前先搜索dir.-g 产生调试信息.GDB能够使用这些调试信息。-o outfile 指定输出文件的文件名,默认为a.outGCC使用例子Example1(编译一个文件)gcc-o first first.c Example2(编译两个文件)gcc c power.cgcc c compute.cgcc power.o compute.o o power-lm目录Linux编程概述GCCMakefile课程实践Makefile简介Make的语法及常用参数Makefile的基本结构实例分析简介1/2What is Make?Make 是用于自动编译、链接程序的实用工具。Make的优点的优点“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。简介2/2Make的工作原理当输入make命令之后,会默认的在当前目录下寻找名为“Makefile”或“makefile”的文件。寻找到文件之后,make会一层又一层地去找文件的依赖关系,直到最终编译出第一个目标文件。在找寻的过程中,如果出现错误,比如最后被依赖的文件找不到,那么make就会直接退出,并报错,而对于所定义的命令的错误,或是编译不成功,make根本不理。make只管文件的依赖性,即,如果在我找了依赖关系之后,冒号后面的文件还是不在,那么对不起,我就不工作啦。Make的语法及常用参数make的使用make options target常见的选项:-f FILE 以指定的FILE 文件作为makefile。-n 只打印要执行的命令,但不执行这些命令。-s 在执行命令时不显示命令。-d 显示调试信息Makefile的基本结构1/2一个简单的Makefile文件包含一系列的“规则”,其样式如下:目标(target):依赖(prerequiries)命令(command)Makefile的基本结构2/2目标(target)通常是要产生的文件的名称,目标的例子是可执行文件或OBJ文件。目标也可是一个执行的动作名称,这样的目标通常称为伪目标(PHONY)诸如clean。依赖是用来输入从而产生目标的文件,一个目标经常有几个依赖。命令是Make执行的动作,一个规则可以含有几个命令,每个命令占一行。每个命令行前面必须是一个Tab字符,即命令行第一个字符是Tab。这是不小心容易出错的地方。实例分析1/2Eample1编译一个文件的makefile文件$cat makefilepower:power.cgcc power.c-o power-lm 实例分析2/2Eample2编译两个文件的makefile文件$cat makefilepower:power.o compute.ogcc power.o compute.o-o power-lmpower.o:power.cgcc-c power.ccompute.o:compute.cgcc-c compute.c目录Linux编程概述GCCMakefile课程实践课程实践1/2Lab1:编写一个程序,完成以下要求该程序包含3个文件,并且完成对圆的面积和周长进行计算的功能,其中每个文件包含的内容如下:第一个文件,包含主函数,提示用户输入半径,并计算相应的结果。第二个文件,包含计算圆的面积的函数第三个文件,包含计算圆的周长的函数Lab2:编写相应的makefile,并且编译运行该程序课程实践2/2Lab3:分析一下的makefile文件,并回答以下问题。CC=gccOPTIONS=-x04 oOBJECTS=main.o input.o compute.oSOURCES=main.c input.c compute.cHEADERS=main.h input.c compute.hpower:main.c$(OBJECTS)$(CC)$(OPTIONS)power$(OBJECTS)lmmain.o:main.c$(HEADERS)input.o:input.c input.hcompute.o:compute.c compute.hall.tar:$(SOUCES)$(HEADERS)makefiletar-cvf$(SOURCES)$(headers)makefile all.tarclean:rm*.o 问题一:这一部分有什么意义问题二:这一句命令的意义问题三:这一句命令的意义问题四:如何执行clean的操作(命令格式)The EndThe End

    注意事项

    本文(Linux编程GCC命令Makefile文件编写.ppt)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开