最新嵌入式linux应用程序开发教程03-linux下的c编程基础

最新嵌入式linux应用程序开发教程03-linux下的c编程基础

ID:36254900

大小:746.00 KB

页数:17页

时间:2019-05-07

最新嵌入式linux应用程序开发教程03-linux下的c编程基础_第1页
最新嵌入式linux应用程序开发教程03-linux下的c编程基础_第2页
最新嵌入式linux应用程序开发教程03-linux下的c编程基础_第3页
最新嵌入式linux应用程序开发教程03-linux下的c编程基础_第4页
最新嵌入式linux应用程序开发教程03-linux下的c编程基础_第5页
资源描述:

《最新嵌入式linux应用程序开发教程03-linux下的c编程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式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语言编程环境概述编辑器

2、vi编译链接器gcc调试器gdb项目管理工具make嵌入式Linux应用程序开发标准教程3.3gcc编译器gcc编译器版本GNUCompilerCollectionhttp://gcc.gnu.orgGNUCC4.6.2(2011.10.26)GNUCC4.6.3GCC4.3.0GCC2.95July31,1999GCC3.0June18,2001GCC3.2August14,2002GCC3.3May13,2003December3,1997GCC4.4.5GCC4.6.3Oct26,2011嵌入式Linux应用程序开发标准教程3.3gcc编译器gcc编译环境GNUCC

3、ANSICC、C++、ObjectC、Java、Fortran、Pascal后缀名所对应的语言后缀名所对应的语言.cC原始程序.s/.S汇编语言原始程序.C/.cc/.cxxC++原始程序.h预处理文件(头文件).mObjective-C原始程序.o目标文件.i已经过预处理的C原始程序.a/.so编译后的库文件.ii已经过预处理的C++原始程序嵌入式Linux应用程序开发标准教程3.3gcc编译器3.3.1gcc编译流程解析gcc编译过程格式:gcc[选项][源文件][选项][目标文件]Pre-processor (cpp/ gcc-E)Compiler(cc1/ gcc

4、-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)总体选项选项含义-c只是编译不链接,生成目标文件“.o”-S只是编译不汇编,生成汇编代码-E只进行预编译

5、,不做其他处理-g在可执行程序中包含标准调试信息-ofile把输出文件输出到file里-v打印出编译器内部编译各过程的命令行信息和编译器的版本-Idir在头文件的搜索路径列表中添加dir目录-Ldir在库文件的搜索路径列表中添加dir目录-static链接静态库-llibrary连接名为library的库文件嵌入式Linux应用程序开发标准教程3.3gcc编译器3.3.2gcc编译选项分析(2)警告和出错选项选项含义-ansi支持符合ANSI标准的C程序-pedantic允许发出ANSIC标准所列的全部警告信息-pedantic-error允许发出ANSIC标准所列的全部

6、错误信息-w关闭所有告警-Wall允许发出gcc提供的所有有用的报警信息-werror把所有的告警信息转化为错误信息,并在告警发生时终止编译过程(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.4gd

7、b调试器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),通常是目标文件或可执行

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

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

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