[v8]预备知识C语言 - 图1

1. CPU和内存

什么是CPU?CPU, central processing unit, 中央处理器, 作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
CPU组成: 控制器、运算器、存储器
CPU指令集: x86/x64 指令集、ARM指令集、MIPS指令集、RISC指令集
image.png

2. 计算机语言

  • 二进制数据
  • 机器指令
  • 汇编指令, 特点:最贴近底层的计算机语言;直接操作硬件, 没有任何抽象;由指令与数据组成,咩有任何语句;受到硬件平台限制,可移植性很低
  • 高级语言
  • 面向对象语言

image.png
C与C++ , 都有标准库。区别:

  • C++是新的编程语言, 不是C的扩展
  • C是面向过程, C++是面向对象
  • C多用在网络相关和嵌入式, C++多用在复杂引擎和应用软件 | C | JS | | —- | —- | | 编译型语言 | 解释型语言 | | 需要借助编译器转成可执行程序
    hello.c -> hello.obj -> hello.exe | 需要借助解释引擎运行 |

3. 内存与指针

  • 内存与内存地址
  • 指针、地址与引用
  • 指向变量的指针
  • 指向指针的指针
  • 指向函数的指针
  • 动态内存分配 | 内存 | 描述 | 特点 | | —- | —- | —- | | 栈区 | 1~2M, 超出报栈溢出错误 | 自动分配,自动释放 | | 堆区 | 动态内存分配 | 手动分配,手动释放,占80%内存 | | 全局区或
    | 被初始化的全局变量、静态变量、常数 | 只初始化一次 | | 程序代码区 | 根据程序设计流程依次执行,顺序指令只执行一次,如果反复使用跳转指令,如果递归借助栈实现 | 指令中包括操作码和对象 |

参考:
快速学习语言: https://learnxinyminutes.com/
从晶体管到CPU(科普): https://www.bilibili.com/video/av21376839/