操作系统——一个简单的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文件,它是一个可执行目标文件,可以被加载到内存中,由系统执行。
相关文章推荐
- 一个最简单的hello world操作系统
- 一个简单的“HELLO WORLD”程序在操作系统中执行的过程
- 一个简单的C语言操作系统生产者消费者模型
- 操作系统的一个简单程序
- Windows Azure Cloud Service (2) 开发一个简单的Hello World
- 一个Go语言接口和多操作系统实现的简单例子
- 怎样写一个简单的操作系统?(原文标题:How to write a simple operating system)
- 实现一个最简单的嵌入式操作系统
- 一个简单的32位多任务操作系统的实现
- 《uCOS51移植心得》---七年前之《快快乐乐跟我学51单片机操作系统和IP栈》 第七部分一个简单Ping的实现
- 【代码】一个简单的ATM提款机的DOS操作系统
- 学习Java的第一步是安装好JDK,写一个Hello World, 其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加
- 一个c#对操作系统文件简单操作的类
- 使用xcode创建一个简单得hello world 程序。
- Hello World,一个简单的JSR 168 portlet
- 实现一个最简单的嵌入式操作系统
- Ophone/OMS编程:编写JIL Widget的一个最简单的例子:hello world。
- 一个简单的汇编程序(hello world )
- 一个Go语言接口和多操作系统实现的简单例子
- Hello World,一个简单的JSR 168 portlet