已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式Linux应用程序开发标准教程 三Linux下的C编程基础 第三章Linux下的C编程基础本章目标熟悉Linux系统下开发环境熟悉gcc编译器基本原理熟练使用gcc编译器常用选项熟练使用gdb调试技术熟悉Makefile基本原理及语法规范熟练使用autoconf和automake生成Makefile 嵌入式Linux应用程序开发标准教程 3 1Linux下C语言编程概述 3 1 1C语言简单回顾ANSIC硬件无关性中级语言结构化语言功能齐全可移植性强 编译过程示意图 嵌入式Linux应用程序开发标准教程 3 1Linux下C语言编程概述 3 1 2Linux下C语言编程环境概述编辑器vi编译链接器gcc调试器gdb项目管理工具make 嵌入式Linux应用程序开发标准教程 3 3gcc编译器 gcc编译器版本GNUCompilerCollectionhttp gcc gnu orgGNUCC4 6 2 2011 10 26 GNUCC4 6 3 GCC4 3 0 GCC2 95 July31 1999 GCC3 0 June18 2001 GCC3 2 August14 2002 GCC3 3 May13 2003 December3 1997 GCC4 4 5 GCC4 6 3 Oct26 2011 嵌入式Linux应用程序开发标准教程 3 3gcc编译器 gcc编译环境GNUCCANSICC C ObjectC Java Fortran Pascal 嵌入式Linux应用程序开发标准教程 3 3gcc编译器 3 3 1gcc编译流程解析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 3gcc编译器 3 3 2gcc编译选项分析 1 总体选项 嵌入式Linux应用程序开发标准教程 3 3gcc编译器 3 3 2gcc编译选项分析 2 警告和出错选项 3 优化选项 On来控制优化代码的生成 0 1 2 3调试的时候最好不使用任何优化选项 只有当程序在最终发行的时候才考虑对其进行优化 嵌入式Linux应用程序开发标准教程 3 4gdb调试器 3 4 1gdb使用流程gcc编译过程一定要加上选项 g gdb调试可执行文件查看文件l设置断点bnbnifvar 20查看断点情况infob运行代码r查看变量值p 变量名单步运行ns恢复程序运行c 嵌入式Linux应用程序开发标准教程 3 4gdb调试器 3 4 2gdb基本命令help1 工作环境相关命令2 设置断点与恢复命令函数断点条件断点3 gdb中源码查看相关命令4 gdb中查看运行数据相关命令5 gdb中修改运行参数相关命令实验 用gdb调试程序的bug P87 嵌入式Linux应用程序开发标准教程 3 5Make工程管理器 自动编译管理器通过读入Makefile文件的内容来执行大量编译工作用户只需编写一次简单的编译语句3 5 1Makefile基本结构Makefile是Make读入的唯一配置文件需要由make工具创建的目标体 target 通常是目标文件或可执行文件要创建的目标体所依赖的文件 dependency file 创建每个目标体时需要运行的命令 command 嵌入式Linux应用程序开发标准教程 3 5Make工程管理器 3 5 1Makefile基本结构Makefile格式target dependency filescommandMake格式maketarget示例 hello o hello chello hgcc chello c ohello omakehello o 嵌入式Linux应用程序开发标准教程 3 5Make工程管理器 3 5 2Makefile变量时间戳make允许在Makefile中创建和使用变量变量是在Makefile中定义的名字 用来代替一个文本字符串 该文本字符串称为该变量的值可以代替目标体 依赖文件 命令以及makefile文件中其他部分两种变量定义方式递归展开方式 格式为VAR var简单展开方式 定义格式为VAR varMake中变量格式为 VAR 嵌入式Linux应用程序开发标准教程 3 5Make工程管理器 3 5 2Makefile变量预定义变量 嵌入式Linux应用程序开发标准教程 3 5Make工程管理器 3 5 2Makefile变量Makefile中常见自动变量 嵌入式Linux应用程序开发标准教程 3 5Make工程管理器 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CSBM 0033-2023骨接合植入物 可降解镁骨钉
- T/UNP 334-2024废弃电器电子产品回收规范
- T/GSEE 12-2024配电房智能化电气设计规范
- T/CI 803-2024虚拟商品交付平台 充值数据接口
- T/CADERM 8006-2024医疗急救辅助员队伍建设与管理要求
- T/CSAE 315.2-2024合作式智能运输系统 应用层交互技术要求 第2部分:感知数据共享
- AI在意大利语中的应用
- 2025~2026学年甘肃省定西市岷县北师大版三年级上册阶段性学习效果评估数学试卷【附答案】
- 2026学年湖南省津市市三年级数学期末模考高频题(详细参考解析)详细答案和解析
- 2025-2026学年江西省南昌市初中数学八年级期末下册高分预测提优特训题(详细参考解析)
- 注册安全工程师考试(初级)试卷与参考答案(2026年)
- 今天你光盘了吗 - 世界粮食日主题课件
- 肩周炎中医护理
- 2026年《计算机组成原理》培训试卷(含答案)
- 急性胆囊炎诊疗专家共识(2026版)
- 2026中国生物医药产业发展动态及投资前景预测报告
- 6.2 民主政治不断发展 课件(内嵌视频)2026-2027学年统编版道德与法治九年级上册
- 高三数学一轮复习《数列求和》教学设计
- 患者十大安全目标2025版(新)
- 重大会议保障及应急处置工作指南
- 2026北方联合电力限责任公司校园招聘易考易错模拟试题(共500题)试卷后附参考答案
评论
0/150
提交评论