一、计算机系统漫游
1.1 信息就是位+上下文
- hello程序的生命周期是从一个源文件开始的。
- 所有文件都是用bits形成的
1.2 程序被其他程序翻译成不同的格式
- 一个 hello.c 会被预处理器(cpp)修改成 hello.i(头文件和源文件合体) 然后被编译器(ccl)翻译成 hello.s(汇编语言程序)
- 再被汇编器(as)翻译成 hello.o(二进制文本) 最后进入链接器阶段(id)就变成了可执行的目标程序(二进制)
- 预处理是根据字符#开头的命令修改C程序
- 编译是把文本翻译成文本,可以理解成MIPS指令集
- 汇编把文本翻译成机器语言指令,叫做‘可重定位目标程序’,是一个二进制文件
- 链接阶段可以举例,比如我们调用了printf这个函数,那么就会使用printf.o的文件与我们的文件进行合并,这就是链接,随后会加载到内存,然后程序被系统执行
1.3 了解编译系统如何工作过是大有益处的
- 目的:
- 优化程序性能
- 理解链接时出现的错误
- 避免安全漏洞
1.4 处理器并解释存储再内存中的指令
- 在UNIX中时使用shell的应用程序,它是一个命令行解释器&#x