嵌入式Linux (七)

姓名:杨乔   学号:19020100280    学院:电子工程学院

转自:

https://max.book118.com/html/2021/0112/7164142054003042.shtm

【嵌牛导读】嵌入式一般指嵌入式系统。嵌入式系统由硬件和软件组成。是能够独立进行运作的器件。Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

【嵌牛鼻子】嵌入式Linux C语言

【嵌牛提问】嵌入式Linux  C语言是什么?

【嵌牛正文】

1.1.1 C 语言简史

C语言于20世纪70年代诞生于美国的贝尔实验室。在此之前,人们编写系统软件主要使用汇编语言。汇编语言编写的程序依赖于计算机硬件,其可读性和可移植性都比较差。而高级语言的可读性和可移植性虽然较汇编语言好,但一般又不具备低级语言能够直观地对硬件实现控制和操作而且执行速度快等特点。

在这种情况下,人们迫切需要一种既具有一般高级语言特性,又具有低级语言特性的语言,于是C语言就应运而生了。由于C语言既具有高级语言的特点又具有低级语言的特点,因此迅速普及,成为当今最有发展前途的计算机高级语言之一。C语言既可以用来编写系统软件,也可以用来编写应用软件。现在,C语言已经被广泛地应用在除计算机行业外的机械、建筑、电子等各个行业中。

C语言的发展历程如下。① C 语言最初是美国贝尔实验室的 D.M.Ritchie 在 B 语言的基础上设计出来的,此时的 C 语言只是为了描述和实现UNIX操作系统的一种工作语言。在一段时间里,C语言还只在贝尔实验室内部使用。② 1975年,UNIX 第 6 版公布后,C 语言突出的优点引起人们的普遍注意。③ 1977年出现了可移植的 C 语言。③ 1977年出现了可移植的 C 语言。④ 1978年UNIX 第 7 版的 C 语言成为后来被广泛使用的 C 语言版本的基础,被称为标准 C语言。⑤ 1983年,美国国家标准协会(ANSI)根据 C 语言问世以来的各种版本,对 C 语言进行发展和扩充,并制定了新的标准,称为 ANSI C。⑥ 1990年,国际标准化组织(ISO)制定了 ISO C 标准,目前流行的 C 语言编译系统都是以它为标准的。

1.1.2 C 语言特点

C语言兼有汇编语言和高级语言的优点,既适合于开发系统软件,又适合于编写应用程序,被广泛应用于事务处理、科学计算、工业控制、数据库技术等领域。C 语言之所以能存在和发展,并具有强大的生命力,都要归功于其鲜明的特点。这些特点如下。

1.C语言是结构化的语言

C语言采用代码及数据分隔的方式,使程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可被方便地调用,并具有多种循环语句、条件语句控制程序流向,从而使程序完全结构化。

2.C语言是模块化的语言

C语言主要用于编写系统软件和应用软件。一个系统软件的开发需要很多人经过几年的时间才能完成。一般来说,一个较大的系统程序往往被分为若干个模块,每一个模块用来实现特定的功能。在C语言中,用函数作为程序的模块单位,便于实现程序的模块化。在程序设计时,将一些常用的功能模块编写成函数,放在函数库中供其他函数调用。模块化的特点可以大大减少重复编程。程序设计时,只要善于利用函数,就可减少劳动量、提高编程效率。

3.程序可移植性好

C语言程序便于移植。目前C语言在许多计算机上的实现大都是由C语言编译移植得到的,不同计算机上的编译程序大约有80%的代码是公共的。程序不做任何修改就可用于各种型号的计算机和各种操作系统。因此,特别适合在嵌入式开发中使用。

4.C语言运算符丰富、代码效率高

C语言共有34种运算符,使用各种运算符可以实现在其他高级语言中难以实现的运算。在代码质量上,C语言可与汇编语言媲美,其代码效率仅比用汇编语言编写的程序低10%~20%。

1.1.3 嵌入式Linux C语言编程环境

嵌入式 Linux C 语言程序设计与在其他环境中的 C 程序设计很类似,也涉及编辑器、编译链接器、调试器及项目管理工具的使用。现在我们先对这4种工具进行简单介绍,后面会一一进行讲解。

1.编辑器

嵌入式Linux下的编辑器就如Windows下的Word、记事本等一样,完成对所录入字符的编辑功能,最常用的编辑器有vi(vim)和Emacs,它们功能强大,使用方便,本书重点介绍vi。

2.编译链接器

编译过程包括词法、语法和语义的分析、中间代码的生成和优化、符号表的管理和出错处理等。在嵌入式Linux中,最常用的编译器是GCC编译器。它是GNU推出的功能强大、性能优越的多平台编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。

3.调试器

调试器可以方便程序员在程序运行时进行源代码级的调试,但不是代码执行的必备工具。在程序开发的过程当中,调试所消耗的时间远远大于编写代码的时间。因此,有一个功能强大、使用方便的调试器是必不可少的。GDB可以方便地设置断点、单步跟踪等,足以满足开发人员的需要。

4.项目管理器

嵌入式 Linux 中的项目管理器“make”类似于 Windows 中 Visual C++里的“工程”管理,它是一种控制编译或者重复编译代码的工具。另外,它还能自动管理软件编译的内容、方式和时机,使程序员能够把精力集中在代码的编写上而不是在源代码的组织上。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容