计算机系统——hello,world的生命周期

1 //file: hello.c
2 
3 #include <stdio.h>
4 
5 int main() {
6     printf("hello,world!\n");
7     return 0;
8 }

从一个源程序开始:hello.c

  • 系统中所有信息都是由一串比特表示
  • 只由ASCII字符构成的文件称为文本文件,其他文件都称为二进制文件

源程序hello.c编译过程

编译系统

  • 编译过程分为4个阶段完成:预处理器、编译器、汇编器、连接器。

hello.c(源程序)

预处理:预处理器cpp修改源程序,将以字符#开头的代码#include<stdio.h>替换成系统头文件stdio的内容。

编译:编译器ccl 将hello.i 翻译成hello.s 汇编语言程序的文本文件。

  •  

汇编:汇编器as将hello.s 翻译成hello.o 机器语言指令(可重定位目标程序的格式)。

链接:hello程序调用了printf 函数,printf函数标准C库的一个函数,存在于printf.o的预编译好的目标文件中,连接器ld将其合并到hello.o程序中得到hello可执行文件。

猜你喜欢

转载自www.cnblogs.com/rons/p/9150168.html