- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最新嵌入式Linux 应用程序开发教程03-Linux下及C编程基础
嵌入式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
- 晶粒尺寸分布及结晶动力学.ppt
- 智能仪器及组成及特点.ppt
- 晶体及点阵结构及X射线衍射.ppt
- 智能光网络中及BoD业务.ppt
- 智能天线及联合检测对TD-SCDMA网络性能及影响.ppt
- 智能决策及专家系统课件1.ppt
- 智能控制第二章 复杂系统及分层递阶智能控制.ppt
- 智能检测理论及技术07.ppt
- 2024精简护肤洁面趋势报告-TMIC-30正式版.doc
- 2024捕捉华夏民族珍味-咸味主食与咸味零食创新机遇报告-25正式版.doc
- 2024年秋季部编版小学道德与法治二年级上册全册课件PPT最新.pptx
- 部编版第十一册第四单元拓展提高教学课件.ppt
- 2024年秋季新西师大版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋新人教版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋季新人教版数学一年级上册全册教学课件(新版教材).pptx
- 2024年秋季新人教版数学一年级上册全册课件(新版教材).pptx
- 2024年秋季新人教版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋季新人教版一年级上册数学全册课件(新版教材).pptx
最近下载
- 中华民族共同体概论课件专家版15第十五讲:新时代与中华民族共同体建设.pdf VIP
- G晴天周杰伦钢琴谱.pdf
- 得力函数型计算器D991ES使用说明书.pdf
- 事业编药学类考试真题.doc VIP
- 居住区规划概念生成与发展研究.pptx
- 2022年中国自然教育行业市场经营管理及投资前景预测报告(更新版).docx VIP
- 2023年天津工业大学软件工程专业《计算机组成原理》科目期末试卷A(有答案).docx VIP
- 中华民族共同体概论课件专家版12第十二讲:民族危亡与中华民族意识觉醒(1840-1919).pdf VIP
- JGJT 152-2019 混凝土中钢筋检测技术标准.pdf VIP
- 大学生实验室安全知识竞赛题库及答案(1500题).docx VIP
文档评论(0)