unix编译工具(解密)

unix编译工具(解密)

ID:14324270

大小:514.50 KB

页数:31页

时间:2018-07-27

unix编译工具(解密)_第1页
unix编译工具(解密)_第2页
unix编译工具(解密)_第3页
unix编译工具(解密)_第4页
unix编译工具(解密)_第5页
资源描述:

《unix编译工具(解密)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Unix环境与编译工具讲稿Version1.0UnixProgrammingEnvironment&Tools引用自LouisYoung杨强老师修订历史摘要日期修改原因版本文档创建2009-4-18新建1.0目录1.GCC的使用51.1.编译C程序51.1.1.编译执行文件51.1.1.1.C程序中的文件后缀名51.1.1.2.编译单源程序61.1.1.3.编译多源程序71.1.2.编译目标文件81.1.2.1.编译成目标文件81.1.2.2.使用目标文件编译81.1.3.预处理81.1.3.1.预处理编译81.1.3.

2、2.编译预处理文件81.1.3.3.预处理指令介绍91.1.3.4.预定义宏介绍131.1.3.5.预处理与make选项141.1.3.6.编译环境变量141.1.4.生成汇编141.1.4.1.编译成汇编141.1.4.2.编译汇编141.1.5.创建静态库151.1.5.1.编译静态库151.1.5.2.ar指令151.1.5.3.使用静态库151.1.6.创建共享库161.1.6.1.编译共享库161.1.6.2.定位共享库161.1.6.3.使用共享库171.1.6.4.库工具程序介绍181.1.6.5.其他编译

3、选项221.1.7.C语言扩展221.1.7.1.控制C语言版本221.2.编译C++程序(基本上同C一样)232.GDB的使用242.1.GDB基础242.1.1.生成调试信息242.1.2.启动调试242.1.3.调试模式设置252.1.4.退出调试252.1.5.查看帮助252.2.使用GDB控制调试过程261.GCC的使用1.1.编译C程序1.1.1.编译执行文件Linux下最常用的编译器是gcc.(GNUCompilerCollection)她通过不同的前端模块来支持对各种不同语言的。编译,如C、C++、Obj

4、ectC、Java、Fortran、Pascal、Ada等语言。GCC是可以在多种硬件平台上编译出可执行。程序的超级编译器.其执行效率与一般的编译器相比,平均效率要高20%--30%.在使用GCC编译程序时,编译过程可以细分为4个阶段:a.预处理。b.编译。c.汇编。d.链接。程序员可以对编译过程进行控制,同时GCC提供了强大的代码优化功能。查看gcc的版本:gcc–v1.1.1.1.C程序中的文件后缀名扩展名说明.a静态对象库.c需要预处理的C语言源代码.hC语言源代码头文件.i不需要预处理的C语言源代码.o目标文件.

5、s汇编语言代码.so共享对象库1.1.1.2.编译单源程序语法:gcc[选项参数]c文件例子:gccch01.c通用选项参数说明如下:1、指定输出文件名-o指定输出文件名例子:gcc-omainch01.c2、警告与提示.-pedantic检测不符合ANSI/ISOC语言标准的源代码,使用扩展语法的地方将产生警告信息。-Wall生成尽可能多的警告信息。-Werror要求编译器将警告当做错误进行处理。例子:gcc–Wall–omainch01.c3、指定编译文件类型-x指定编译代码类型,c、c++、assembler,no

6、ne。None根据扩展名自动确认。例子:gcc–xc-Wall–omainch01.c4、生成调试信息与优化-g生成调试信息-O优化-O1、O2、O3优化等级5、建议:在编译任何程序的时候都带上-Wall选项。6、-g与-O一般不会同时出现示例:#!/bin/bash#GCC使用echo"编译......"gcc-xc-omain-Wallch01.cecho"执行......"./main调试与优化:1.1.1.3.编译多源程序1、语法:gcc[选项]C源代码1C源代码2C源代码32、示例:代码ch01.c#inclu

7、de/*演示编译器gcc*///intadd(int,int);intmain(){printf("%d+%d=%d",34,68,add(34,68));return0;}代码ch01_1.c/*函数实现*/intadd(inta,intb){returna+b;}编译脚本gcc-xc-omain-Wallch01.cch01_1.c注意:在调用处,最好加上显示add函数声明,否则会报一个警告(去掉-Wall不会警告)。Add函数的声明可以单独存放一个文件,就是头文件。思考:头文件的作用是什么?1

8、.1.2.编译目标文件1.1.2.1.编译成目标文件语法:gcc-cC源代码文件示例:方式一:每个C文件都生成一个目标文件gcc-cch01.cch01_1.c方式二:多个C文件生成一个目标文件gcc-omain.o-cch01.cch01_1.c1.1.2.2.使用目标文件编译语法:gcc–o输出文件名目标文件1目

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

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

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