[架构之路-23]:目标系统 - 系统软件 - C语言的结构与程序的工作原理 - 数据类型与数据定义(待续)
Posted 文火冰糖的硅基工坊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[架构之路-23]:目标系统 - 系统软件 - C语言的结构与程序的工作原理 - 数据类型与数据定义(待续)相关的知识,希望对你有一定的参考价值。
目录
前言:
大多数系统软件(包括bootloader和操作系统)的99%代码,都是用C语言编写的,故在介绍系统软件之前,先阐述一下C语言的结构与工作原理,通过C语言的工作原理也可以理解CPU的工作原理。
第1章 结构化程序与分层编程系统
1.1 计算机软硬件模型
1.2 程序的经典框架:算法+数据结构
数据结构(structure)是:计算机存储、组织数据的方式。
算法(Algorithm)是:指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
1.3 程序的结构化框架
1.结构化代码组织
•内存结构、代码结构
2.结构化数据表示:数据结构、数据定义
•基本数据类型、结构化数据、指针数据类型
3.结构化数据运算:算法
•运算符、函数定义
4.结构化程序控制
•CPU控制、顺序语句、条件分支、跳转循环、函数调用
1.4 程序的层次模型
1.5 程序设计的层次模型
设计一个程序或软件系统,自底向上的方法有:
(1)二进制指令系统
(2)低级编程语言:汇编
(3)高级编程语言:C/C++/Python
(4)标准库:第三方提供的常见的功能
(5)常见的设计模式
(6)特定业务应用的程序框架
(7)特定业务的应用程序
(8)UML图形化语言描述
每个层次,都包含程序的两个重要方面:算法+数据结构。
第2章 C语言概述
2.1 C语言本质
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。
2.2 C语言关键字
2.3 C语言在编程语言的中的位置
第3章 C语言结构化代码组织
3.1 符号作用域
3.2 程序组织
3.3 内存模型
第4章 C语言结构化数据表示
任何一个编程语言
大部分的工作,就是指定义如何组织和操作数据!!!
只有少部分的工作是定义如何组织和控制程序本身!!!
4.1 数据的类型
4.2 数据的属性 (Class:类)
4.3 数据的定义(实例化:对象)
4.4 数据的释放
第5章 C语言结构化数据运算
第6章 C语言结构化程序控制
待续........................
以上是关于[架构之路-23]:目标系统 - 系统软件 - C语言的结构与程序的工作原理 - 数据类型与数据定义(待续)的主要内容,如果未能解决你的问题,请参考以下文章
[架构之路-50]:目标系统 - 系统软件 - Linux下的网络通信-6-PONEPONGPON
[架构之路-59]:目标系统 - 平台软件 - 基础中间件 - POSIX(可移植操作系统接口)与标准库函数libc
[架构之路-35]:目标系统 - 系统软件 - Linux OS内核模块与内核设备驱动程序,一切皆文件,Linux虚拟文件系统与统一设备模型
[架构之路-11]:目标系统 - 架构 - 嵌入式系统软件+硬件的基本通用架构