您的位置:首页 > 其它

操作系统——一个简单的Hello World

2016-11-10 19:26 169 查看

Hello World

// hello.c
#include <stdio.h>

int main()
{
printf("Hello, World!\n");
return 0;
}


从hello world 代码到可执行文件

源程序中每条c语句都必须被其他程序转化为一系列的低级机器语言指令。这些指令按照一种称为可执行目标程序的格式打包,以二进制磁盘文件的形式存放

gcc具体流程

linux> gcc -o hello hello.c

预处理阶段:预处理器(cpp)根据以字符#开头的命令修改源程序。即是读取stdio.h的内容,并将它直接插入到程序文件中,得到一个hello.i的文件

编译阶段:编译器(ccl)将文本文件hello.i翻译成文本文件hello.s,包含了汇编语言程序

汇编阶段:汇编器(as)见hello.s翻译成机器语言指令,把这些指令打包成一种叫可重定位目标程序的格式,并将结果保存在目标文件hello.o中。hello.o是文件是一个二进制文件。

链接阶段:连接器(ld)负责将用某种方式将printf.o 合并到 hello.o 程序中, 得到hello文件,它是一个可执行目标文件,可以被加载到内存中,由系统执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  操作系统