eco*_*sis 23 c programming-languages low-level
我们经常听说C是一种低级语言,但它有多低?我所知道的最低级别是使用指针的内存管理.我还有更进一步的发现水平吗?"靠近硬件"是什么意思?"靠近硬件"的C怎么样?
Edw*_*uck 24
使用标准术语.高级语言和低级语言.
高级语言旨在方便编写语言的人.
低级语言旨在方便运行该语言的计算机.
C只是汇编语言的一个步骤,汇编语言实际上是机器代码的人工翻译.它不会低于机器代码,但人们不能很好地读取十六进制,因此汇编被认为是最低级的编程语言.
大多数C操作可以转换为少于10个机器指令.有些可以翻译成单个机器指令(取决于许多情况).相比之下,许多高级语言可能需要数十到数千台机器指令来实现特定操作.
语言的"层次"主要是抽象概念.除了在尝试理解您是否必须在一个或另一个中编写更多源代码,或者如果您将需要在一种语言中更多地了解机器的体系结构的上下文中将一种语言与另一种语言进行比较之外,它没有用处.到另一个.
C只不过是围绕ASM的程序包装器.一个好的C程序员,知道该语言背后的原因,应该能够查看代码片段并写出代码编译成的ASM.这些ASM指令可以1:1转换为二进制机器指令.它几乎比程序集高出一步,因此你可以编写C代码来完成计算机能够执行的任何操作,但是,处于如此低的水平,就你必须具体而言它是相对原始的.例如,内存被视为这样,而不是抽象成像"堆"这样的结构.用OO语言创建一个"新"对象就像这么简单; 等效的C代码将涉及malloc,用于该对象的所有成员的大小之和,以及指向块内每个对象成员的指针.
C有时被称为"可移植汇编语言".基本上你可以在汇编中做任何事情,你可以在C中做(通过内置于语言中的功能或通过内联汇编).
| 归档时间: |
|
| 查看次数: |
22899 次 |
| 最近记录: |