C语言的演化与设计,c语言的演化与设计思维导图
dfnjsfkhak
15
大家好,今天小编关注到一个有意思的话题,就是关于C语言的演化与设计的问题,于是小编就整理了3个相关介绍C语言的演化与设计的解答,让我们一起看看吧。
- c语言近10年变化了吗?
- 汇编语言如何发展成C语言?
- 汇编语言如何发展到C语言的?
c语言近10年变化了吗?
C语言是一门经典的编程语言,自1***2年诞生以来,经历了多次演化和发展。近10年来,C语言在语言本身和编程环境等方面都发生了一些变化,以下是一些主要的变化:
1. C11标准:C11是C语言的最新标准,于2011年发布。C11标准增加了一些新的特性,如泛型选择表达式、多线程支持、原子操作等,以及一些改进,如对Unicode字符集的支持等。
2. C17标准:C17是C语言的最新标准之一,于2018年发布。C17标准主要是对C11标准的一些修订和改进,如对一些不明确的行为进行了规范,增加了一些新的特性和库函数等。
3. C语言编译器:近年来,C语言编译器也得到了不断的改进和优化,如GCC、Clang等编译器都支持了C11标准和C17标准,并且提供了更好的代码优化和调试功能。
4. C语言开发环境:随着云计算和容器技术的发展,C语言的开发环境也发生了一些变化,如云端IDE、容器化开发环境等,使得C语言的开发更加便捷和高效。
汇编语言如何发展成C语言?
现在的计算机,除了量子计算机外,统称“冯.诺伊曼结构计算机”。
在计算机内部真正执行计算的,实际上是一些电路。通过电路的逻辑操作,来获得我们需要的结果。
最早期的计算机,是通过手动设置不同电路的开关,来计算机内部电路的操作。类似用开关控制电灯。

人们很快发现,当要操作的电路越来越多,用人去控制开关不是明智的选择。因此设计了打孔带来控制计算机的操作。
打孔带上按距离有孔或者没有孔。有孔代表开,没有孔代表关。
当计算机工作越来越复杂的时候,制造打孔带也变成了可怕的工作。没有人能保证打100个孔一点也不错。后面打孔带被密度更高的磁带代替,问题越发严重了。
于是人们设计了助记符-汇编语言,把电路指令真实的用途用字符和数字记录下来。然后用翻译程序(一开始是人)翻译成计算机电路控制指令。
当助记符也越来越复杂的时候,人们又发明了宏。可以替代一部分重复性的工作,使汇编(其实就是机器语言助记符)看起来更容易理解。
汇编语言当然比记忆操作几百个电路开关顺序,更容易记忆和理解。但它还是更容易被计算机理解,而不是被人理解。
所以人们又发明了各种可以把人们想要真正完成的事情描述清楚的工具:高级语言。C语言就是其中的代表。
汇编语言如何发展到C语言的?
二、反汇编技巧(摘取自 天书夜读)
2.1 首先,将流程代码与数据计算的代码分开,我们使用
F: 用于标识 调用函数或者作为函数被调用,出栈、入栈
C:用于标识 流程控制代码、判断、比较、循环
D: 用于标识 数据处理
2.2 翻译代码
一般被读入的为输入,被写的内部变量为输出;
取出D的代码进行逐句翻译,任何一段不加任何跳转、连续的mov 和 加减乘除都可以还原成为一个表达式;
标识为F的代码基本不用翻译,本身为简单的函数调用。
C的代码将其翻译成为if 、for、do、switch。
到此,以上就是小编对于C语言的演化与设计的问题就介绍到这了,希望介绍关于C语言的演化与设计的3点解答对大家有用。
标签: 语言
汇编语言
一些
版权声明:本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。