1. CPU和内存
什么是CPU?CPU, central processing unit, 中央处理器, 作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
CPU组成: 控制器、运算器、存储器
CPU指令集: x86/x64 指令集、ARM指令集、MIPS指令集、RISC指令集
2. 计算机语言
- 二进制数据
- 机器指令
- 汇编指令, 特点:最贴近底层的计算机语言;直接操作硬件, 没有任何抽象;由指令与数据组成,咩有任何语句;受到硬件平台限制,可移植性很低
- 高级语言
- 面向对象语言
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/