- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式Linux应用程序开发标准教程 三 Linux下的C编程基础 第三章 Linux 下的C 编程基础 本章目标 熟悉Linux 系统下开发环境 熟悉gcc 编译器基本原理 熟练使用gcc 编译器常用选项 熟练使用gdb 调试技术 熟悉Makefile 基本原理及语法规范 熟练使用autoconf 和automake 生成Makefile 嵌入式Linux应用程序开发标准教程 3.1 Linux下C语言编程概述 3.1.1 C 语言简单回顾 ANSI C 硬件无关性 中级语言 结构化语言 功能齐全 可移植性强 编译过程示意图 嵌入式Linux应用程序开发标准教程 3.1 Linux下C语言编程概述 3.1.2 Linux 下C 语言编程环境概述 编辑器 vi 编译链接器 gcc 调试器 gdb 项目管理工具 make 嵌入式Linux应用程序开发标准教程 3.3 gcc编译器 gcc编译器版本 GNU Compiler Collection GNU CC 4.6.2 (2011.10.26) GNU CC 4.6.3 GCC 4.3.0 GCC 2.95 July 31, 1999 GCC 3.0 June 18, 2001 GCC 3.2 August 14, 2002 GCC 3.3 May 13, 2003 December 3, 1997 GCC 4.4.5 GCC 4.6.3 Oct 26, 2011 嵌入式Linux应用程序开发标准教程 3.3 gcc编译器 gcc编译环境 GNU CC ANSI C C、C++、Object C、Java、Fortran、Pascal 后缀名 所对应的语言 后缀名 所对应的语言 .c C 原始程序 .s/.S 汇编语言原始程序 .C/.cc/.cxx C++ 原始程序 .h 预处理文件(头文件) .m Objective-C 原始程序 .o 目标文件 .i 已经过预处理的C 原始程序 .a/.so 编译后的库文件 .ii 已经过预处理的C++ 原始程序 嵌入式Linux应用程序开发标准教程 3.3 gcc编译器 3.3.1 gcc 编译流程解析 gcc编译过程 格式: gcc [选项] [源文件] [选项] [目标文件] Pre-processor(cpp / gcc -E) Compiler (cc1 / gcc -S) Assembler (as / gcc -c) Linker (ld) hello.c(text) hello.i(text) hello.s(text) hello.o(binary) hello(binary) printf.o(binary) 预处理:生成文件-编译文件.i 编译:代码翻译成汇编语言-编译文件.s 汇编:转成目标文件-编译文件.o二进制代码 连接:默认使用动态库,生成可执行文件 嵌入式Linux应用程序开发标准教程 3.3 gcc编译器 3.3.2 gcc 编译选项分析 (1)总体选项 选项 含义 -c 只是编译不链接,生成目标文件“.o” -S 只是编译不汇编,生成汇编代码 -E 只进行预编译,不做其他处理 -g 在可执行程序中包含标准调试信息 -o file 把输出文件输出到file 里 -v 打印出编译器内部编译各过程的命令行信息和编译器的版本 -I dir 在头文件的有哪些信誉好的足球投注网站路径列表中添加dir 目录 -L dir 在库文件的有哪些信誉好的足球投注网站路径列表中添加dir 目录 -static 链接静态库 -llibrary 连接名为library 的库文件 嵌入式Linux应用程序开发标准教程 3.3 gcc编译器 3.3.2 gcc 编译选项分析 (2)警告和出错选项 选项 含义 -ansi 支持符合ANSI 标准的C 程序 -pedantic 允许发出ANSI C 标准所列的全部警告信息 -pedantic-error 允许发出ANSI C 标准所列的全部错误信息 -w 关闭所有告警 -Wall 允许发出gcc 提供的所有有用的报警信息 -werror 把所有的告警信息转化为错误信息,并在告警发生时终止编译过程 (3)优化选项 -On 来控制优化代码的生成,0、1、2、3 调试的时候最好不使用任何优化选项,只有当程序在最终发行的时候才考虑对其进行优化 嵌入式Linux应用程序开发标准教程 3.4 gdb调试器 3.4.1 gdb 使
您可能关注的文档
- 七年级生物上册 细胞核是遗传信息库 人教新课标版幻灯片.ppt
- 七年级生物上册细胞核是遗传信息库人教新课标版幻灯片.ppt
- 期中考试总结31929幻灯片.ppt
- 企业安全管理课件.ppt
- 企业标准与检验要求课件.ppt
- 企业财产保险风险评估报告幻灯片.ppt
- 企业产品标准编写知识74221幻灯片.ppt
- 企业风险管理—全面风险评估与对策幻灯片.ppt
- 企业管理体系课件.ppt
- 企业管理学课件.ppt
- 六年级语文下册14《文言文二则》《学弈》课件(共14张PPT).pdf
- 轮状病毒感染课件(共14张PPT)《动物疫病防治》.pdf
- 空气消毒课件(共16张PPT)《动物疫病防治》.pdf
- 空怀母猪饲养管理的目标和内容课件(共23张PPT)《猪生产》.pdf
- 了解中国入出境旅游市场课件(共25张PPT)《旅游客源地与目的地概况》.pdf
- 节奏与旋律课件(16张PPT).pdf
- 冀教版小学数学一年级下册5《求一个数比另一个数多儿》说课.pdf
- 快大型肉仔鸡生产课件(共51张PPT)《家禽生产技术》.pdf
- 简单判断的演绎推理方法课件(共31张PPT)高中政治统编版选择性必修三逻辑与思维.pdf
- 开放互动的世界课件(30张ppt).pdf
文档评论(0)