×

Linux下C编程 嵌入式开发

消耗积分:0 | 格式:rar | 大小:1.39 MB | 2017-10-31

分享资料个

  在进行 C 程序开发时,编译就是将编写的 C 语言代码变成可执行程序的过程,这一过程

  是由编译器来完成的。编译器就是完成程序编译工作的软件,在进行程序编译时完成了一系

  列复杂的过程。

  1.1.1 程序编译的过程

  在执行这一操作时,程序完成了复杂的过程。一个程序的编译,需要完成词法分析、语

  法分析、中间代码生成、代码优化、目标代码生成。本章将讲解这些步骤的作用与原理。

  (1)词法分析。指的是对由字符组成的单词进行处理,从左至右逐个字符地对源程序进

  行扫描,产生一个个的单词符号。然后把字符串的源程序改造成为单词符号串的中间程序。

  在编译程序时,这一过程是自动完成的。编译程序会对代码的每一个单词进行检查。如果单

  词发生错误,编译过程就会停止并显示错误。这时需要对程序中的错误进行修改

  (2)语法分析。语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规

  则的语句。例如,需要检查表达式、赋值、循环等结构是否完整和符合使用规则。在语法分

  析时,会分析出程序中错误的语句,并显示出结果。如果语法发生错误,编译任务是不能完

  成的。

  (3)中间代码生成。中间代码是源程序的一种内部表示,或称中间语言。程序进行词法

  分析和语法分析以后,将程序转换成中间代码。这一转换的作用是使程序的结构更加简单和

  规范。中间代码生成操作是一个中间过程,与用户是无关的。

  (4)代码优化。代码优化是指对程序进行多种等价变换,使得从变换后的程序能生成更

  有效的目标代码。用户可以在编译程序时设置代码优化的参数,可以针对不同的环境和设置

  进行优化。

  (5)目标代码生成。目标代码生成指的是产生可以执行的应用程序,这是编译的最后一

  个步骤。生成的程序是二进制的机器语言,用户只能运行这个程序,而不能打开这个文件查

  看程序的

Linux下C编程 嵌入式开发

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !