嵌入式Linu的软件开发环境分析.ppt

嵌入式Linu的软件开发环境分析.ppt

ID:51569796

大小:873.00 KB

页数:75页

时间:2020-03-23

嵌入式Linu的软件开发环境分析.ppt_第1页
嵌入式Linu的软件开发环境分析.ppt_第2页
嵌入式Linu的软件开发环境分析.ppt_第3页
嵌入式Linu的软件开发环境分析.ppt_第4页
嵌入式Linu的软件开发环境分析.ppt_第5页
资源描述:

《嵌入式Linu的软件开发环境分析.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、嵌入式Linux的软件开发环境编译原理Linux环境下的GCC及ARM交叉编译器的概念和使用调试技术内核编译、裁减以及Linux的移植什么是编译程序从功能上看,一个编译程序就是一个语言翻译程序,它把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价的程序.功能术语编译程序的源语言(源程序)编译程序的目标语言(目标程序)编译程序的实现语言SOI高级语言书写的程序编译程序低级语言程序STI什么是编译程序分类软件系统软件语言处理系统操作系统编译系统裸机分类软件:计算机系统中的程序及其文档系统软件:居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软

2、件发挥作用。他和具体的应用领域无关,如编译系统和操作系统等。语言处理系统:把软件语言书写的各种程序处理成可在计算机上执行的程序。软件语言:用于书写软件的语言。它主要包括需求定义语言,功能性语言,设计性语言,程序设计语言以及文档语言。预处理器编译器汇编器装配连接编辑骨架程序源程序目标汇编程序可重定位机器代码绝对机器码可重定位目标文件库语言处理过程语言转(变)换系统C++编译器C++CJavaBytecodeJava编译器术语编译程序(compiler)编译程序的源语言(源程序)(sourcelanguage)(sourceprogram)编译程序的目标语言(目标程序)(

3、objectortargetlanguage)(objectortargetprogram)编译程序的实现语言(implementationlanguage)语言处理程序(languageprocessor)语言转(变)换(languagetransformation)编译过程和编译程序的结构编译逻辑过程词法分析语法分析语义分析中间代码生成代码优化目标代码生成词法分析从左至右读字符流的源程序、识别(拼)单词例:position:=initial+rate*60;词法分析position:=initial+rate*60;单词类型单词值标识符1(id1)position

4、算符(赋值):=标识符2(id2)initial算符(加)+标识符3(id3)rate算符(乘)*整数60分号;又如一个C源程序片断:inta;a=a+2;词法分析后可能返回:单词类型单词值保留字int标识符(变量名)a界符;标识符(变量名)a算符(赋值)=标识符(变量名)a算符(加)+整数2界符;语法分析功能:层次分析.依据源程序的语法规则把源程序的单词序列组成语法短语(表示成语法树).position:=initial+rate*60;规则<赋值语句>::=<标识符>“:=”<表达式><表达式>::=<表达式>“+”<表达式><表达式>::=<表达式>“*”<表达

5、式><表达式>::=“(”<表达式>“)”<表达式>::=<标识符><表达式>::=<整数><表达式>::=<实数>赋值语句标识符表达式表达式+表达式表达式标识符整数标识符:=表达式*id1:=id2+id3*N:=+N60*id1Positionid2initialid3rate语义分析语义审查(静态语义)上下文相关性类型匹配类型转换例:Programp();Varrate:real;procedureinitial;…position:=initial+rate*60/*error*//*error*//*warning*/;…又如:intarr[2],abc;a

6、bc=arr*10;…Programp();Varrate:real;Varinitial:real;Varposition:real;…position:=initial+rate*60语义分析(semanticanalysis)60:=+*Id1positionId2initialId3rateinttoreal中间代码生成(intermediatecodegeneration)源程序的内部(中间)表示三元式、四元式、P-Code、C-Code、U-Code、bytecode(*id3t1t2)t2=id3*t1t2:=id3*t1中间代码生成id1:=id2+i

7、d3*60(1)(inttoreal,60-t1)(2)(*,id3t1t2)(3)(+,id2t2t3)(4)(:=,t3-id1)代码优化id1:=id2+id3*60(1)(inttoreal60-t1)(2)(*id3t1t2)(3)(+id2t2t3)(4)(:=t3-id1)变换(1)(*id360.0t1)(2)(+id2t1id1)代码优化(codeoptimization)t1=b*ct1=b*ct2=t1+0t2=t1+t1t3=b*ca=t2t4=t2+t3a=t4目标代码生成(*,id360.0t1)(+,id2t1id1)

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

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

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