欢迎来到天天文库
浏览记录
ID:50078783
大小:1.66 MB
页数:29页
时间:2020-03-08
《嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 第4章_嵌入式Linux开发基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章嵌入式Linux开发基础丰海1C语言基础计算机语言定义计算机能够识别和接受的语言。要使计算机按自己的意图工作,必须使用计算机所能接受、理解和执行的指令指挥计算机工作。2计算机语言的种类机器语言低级语言汇编语言BASIC入门语言F77科学计算高级语言Foxpro数据库管理(面向问题)C多用途计算机语言……3C语言程序需经过编译:编译执行要上机完成一个计算问题,主要的任务就是用高级语言编写出相应的源程序。C语言源程序机器指令目的程序结果编译程序4C语言的特点集高级语言和低级语言的优点于一身:●能实现低级语言的大部分功能(如直接访问内存物理地址、进行位操作等)。●图形功能
2、强。●运算符和数据结构丰富。●语法限制不太严格,程序设计自由度大。●生成目标代码质量高,程序执行效率高。5简单的C程序介绍例1:main()主函数说明{程序框架printf(“abcdef”);函数体}语句程序的功能是输出字符串:abcdef6算法算法的概念要利用计算机处理问题,光学习语言的语法规则还不够,最重要的是要学会针对各类型的问题,拟定出有效的解题方法和步骤。解题方法和步骤就是算法。7算法:为了解决一个问题而采取的有限步骤。计算机算法:如何使计算机一步一步地工作的具体过程。8流程图9#includeintmain(void){inta,b,c;p
3、rintf("请输入a的值:");scanf("%d",&a);printf("请输入b的值:");scanf("%d",&b);c=a+b;printf("输入的两个数a与b的和为%d!",c);}1011三个基本结构:顺序结构按固定顺序(从上到下或从左到右)执行的结构。ABab12选择结构根据条件P选择执行哪一个分支。成立不成立pABab成立不成立13循环结构重复执行某些操作的结构。分为两种:当型循环和直到型循环。当型循环直到型循环P1AAP2aabbYYNN14GNUGCCGNU就是GNU‘sNotUnix的缩写,GNU是由自由软件基金会(FreeSof
4、twareFoundation,FSF)的董事长RichardM.Stallman(RMS)于1984年发起的,如今已经有十几年的历史了。它的目标是创建一套完全自由的操作系统。GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器。它是GNU计划的关键部分,GCC原名为GNU C语言编译器,因为它原本只能处理C语言。GCC很快地扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、Objective-C、Java,以及Ada与其他语言。15GNUgcc编译器及其使用C、C++源代码hello.c编译连
5、接可执行程序GNUgcc编译器的编译流程gcchello.c-ohello_pc//用gcc编译器编译hello.c源程序,//生成可以在X86CPU上的可执行程序hello_pcarm-linux-gcchello.c-ohello_arm//用arm-linux-gcc交叉编译器,//生成可以在arms3c2440CPU上的可执行程序hello_armGNUgcc的功能就是将c、c++等源代码程序经编译器编译成目标文件,再经过链接器(Linker)链接指定的目标文件及相关的函数库,最后产生可执行的二进制程序,如图所示为gcc编译器的编译流程图:16-o参数的作用LKK
6、.c源代码gccLKK.c-oABC生成ABC可执行程序连接LKK.c源代码gccLKK.c-oLKK生成LKK可执行程序连接LKK.c源代码gccLKK.c生成a.out可执行程序连接17Make与Makefile文件简介在嵌入式系统的程序开发中,通常一个较大的程序都会使用到不同的小程序或函数,所以在编译时就要将这些不同的程序编译,产生不同的目标文件,然后再执行连接的动作,最后才能生成可执行的二进制程序。例如有一主程序为main.c,需要使用到A.c和B.c的程序,因此在编译时就要执行如下命令才能产生可执行的二进制程序main:gcc–cmain.c(生成main.o目
7、标文件)gcc–cA.c(生成A.o目标文件)gcc–cB.c(生成B.o目标文件)gcc–omainmain.oA.oB.o18多个文件的编译过程连接生成main可执行程序编译main.o编译A.o编译B.oA.cB.cmain.c19自动化编译工具Make的优点如下:(1)对庞大及复杂的c源代码文件进行有效的维护。(2)减少程序编译的次数。(3)使源代码的编译、连接、管理更加有效。(4)具有编译自动化的功能,将编译(Complier)、连接(Link)、产生可执行二进制程序的动作自动化完成。Makefile文件主要描述了各
此文档下载收益归作者所有