【Linux操作系统分析】实验一:计算机是怎样工作的
来源:互联网 发布:eve美女捏脸数据 编辑:程序博客网 时间:2024/05/20 21:23
学号:SA11**6254
从源代码到可执行文件共经历四个步骤:
1.预处理
预处理是在程序源代码被编译之前,由预处理器对程序源代码进行的处理。这个过程并不对程序的源代码进行解析,但它把源代码分割或处理成为特定的符号用来支持宏调用。
gcc –E test.c –o test.i
扩展源代码,插入所有用#include命令的指定的文件,并扩展多有用#define声明指定的宏。
2.编译
编译是执行词法分析语法分析等检查后将高级语言转换为汇编代码;
gcc –S test.i –o test.s 或 gcc –S test.c –o test.s
编译过程就是把预处理完的文件进行一系列词法分析、语法分析、语义分析及优化后生成相应的汇编代码文件。
将test.i翻译成test.s,它包含一个汇编语言程序,汇编语言程序中的每条语句都以一种标准的文本格式确切地描述了一条低级机器语言指令。
3.汇编
汇编是将编译生成的汇编代码转换成机器代码即二进制代码(目标代码)
as test.s –o test.o 或 gcc –c test.s –o test.o 或gcc –c test.c –o test.o
汇编器将test.s翻译成机器语言指令(字节编码),打包成可重定位的目标文件test.o,它是一个二进制目标文件。
4.链接
链接的作用是将多个目标代码同库文件进行连接最终生成可执行程序。
将目标代码文件与实现库函数的代码合并,并产生最终的可执行代码文件test。
这四个步骤分别生成.cpp、.s、.o/.obj和ELF文件。
example.c原文件:
- int g(int x)
- {
- return x+3;
- }
- int f(int x)
- {
- return g(x);
- }
- int main(void)
- {
- return f(8)+1;
- }
- 【Linux操作系统分析】实验一:计算机是怎样工作的
- Linux操作系统实验一:计算机是怎样工作的
- 【Linux操作系统分析】计算机是怎样工作的
- 【Linux操作系统分析】计算机是怎样工作的
- 【实验一】计算机是怎样工作的?
- Linux操作系统分析(一)计算机是怎么工作的?
- 实验:计算机是怎样工作的?
- Linux操作系统实验一:计算机的工作原理
- 实验一 分析计算机是怎么工作的
- 实验一:计算机是怎么工作的
- 【实验一】计算机是怎么工作的
- Linux实验:计算机是怎么工作的
- linux操作系统实验五--Linux操作系统是如何工作的?
- 计算机是怎样工作的
- 计算机是怎样工作的?
- 计算机是怎样工作的
- 计算机是怎样工作的
- 《Linux内核分析》-mykernel实验指导(操作系统是如何工作的)
- 动态查找树比较: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)
- 增加/删除SWAP分区空间的方法
- css3 黑白改变
- PhoneGap
- 网络请求一 : android-async-http
- 【Linux操作系统分析】实验一:计算机是怎样工作的
- OGRE的材质脚本 (四)
- Daily-C-Study(4):C语言struct关键字
- sping2+struts2+hibernate3项目整合H2数据库
- 计算两条直线的交点
- Undefined symbols for architecture i386
- 写在《ASP.NET MVC 4 Web 编程》即将出版之际!献给有节操的程序员!
- 小网站架构优化-提升抗并发能力:子应用程序分离方案
- 详解 Qt 动态插件编写要点