首页 > 代码库 > 读书笔记_深入理解计算机系统_第一章_计算机系统漫游
读书笔记_深入理解计算机系统_第一章_计算机系统漫游
hello.c
#incude <stdio.h>
int main()
{
printf("Hello,world\n");
}
1.1信息就是位+上下文
系统所有的信息,都是由一串位表示的。
在不同的上下文中(可以理解为程序,或者运算),一个同样的字节序列可能表示一个整数,浮点数,字符串或者机器指令。
2.2程序被其他程序翻译成不同的格式
如Hello程序,从源文件hello.c中的每条C语句,需被其他程序转换为一系列低级语言(汇编)指令,然后将这些指令按照一种称为可执行目标程序的格式打包,以二进制磁盘文件格式存放起来。目标程序也称为可执行目标文件。
在linux中,从源文件到目标文件可用编译驱动程序完成
gcc -o hello hello.c
GCC编译驱动程序将hello.c翻译成一个可执行目标文件,过程分为四个阶段
1.预处理阶段
读取头文件中的内容,将它插入上下文,#include <stdio.h>,生成.i作为扩展名。
2.编译阶段
将.i翻译成.s汇编语言程序
3.汇编阶段
将汇编语言翻译成机器语言,将指令打包成一种叫可重定位目标程序的格式.o,一个二进制文件
4.链接阶段
将printf.o预编译文件链接入hello.o
1.3了解编译系统如何工作的最大益处
1.优化程序
2.理解链接时出现的错误
3.避免安全漏洞
读书笔记_深入理解计算机系统_第一章_计算机系统漫游
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。