gpt4 book ai didi

c - c中的低级访问是什么意思?

转载 作者:行者123 更新时间:2023-11-30 19:26:05 27 4
gpt4 key购买 nike

我刚刚开始用 C 语言编程,我被一个短语所困扰,即 C 的主要功能包括对内存的低级访问任何人都可以解释这是什么意思。

最佳答案

计算机以机器代码(零和一)运行。如果您在十六进制编辑器中打开程序,或者查看任何讨论通信的硬件手册,您将看到 [0-9A-F][0-9A-F] 范围内的许多符号。 ,这是以 16 为基数而不是以 2 为基数的机器代码。用机器代码编写程序很难!将此视为地面 0;您编写的每一位内容都将在计算机硬件上运行。

机器码是一系列指令;在大多数计算机(例如台式机或笔记本电脑)上,它们是 instructions based on x86 ,并且这些字节是由这些指令组装而成的。这些指令是用汇编代码编写的!这两个主题都是非常简短的介绍,如果您有兴趣,请阅读更多相关内容,但本质上它们允许直接访问寄存器和硬件。同样,每个步骤都是直接运行的,但它稍微更抽象,因为它允许我们开始使用整个字母表!但它必须经过编译才能在处理器上运行。

C 不是汇编代码,它主要以人类形式可读。 C 本质上是一种名为 B 的较旧语言,具有类型系统(int、char 等) - 并且 B 基本上是汇编的友好语法。这就是为什么你可以在很多 C 语句中跳过类型,它默认为 int .

C 不做的是:

  • 内存管理
  • 面向对象编程
  • 协程
  • 高级类型功能

指针允许您直接修改内存,并且本质上您想要做的事情是可能的(无论是好的还是坏的方式)。许多 C 方法编译为少量汇编指令,尽管它提供了巨大的能力,但它比高级语言需要更多的工作 - 其中许多可能在汇编之前编译为 C。

把它想象成一个金字塔;沙漠是地面/机器代码,基础是汇编,它坚硬而强大,但需要大量工作,C 位于其之上,仍然处于较低水平,需要大量工作,但比做要容易得多根据!将它们与位于更高级别之上的 Java 和 C# 进行比较,这应该可以回答问题。这是一个抽象概念,对于该语言来说实际上没有多大意义。

关于c - c中的低级访问是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57941178/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com