C++源文件到可运行文件的过程
2017-06-15 11:49
113 查看
一.四个步骤
对于C/C++编写的程序,从源码到可运行文件,一般经过以下四个步骤: 1).预处理,产生.ii文件 2).编译,产生汇编文件(.s文件) 3).汇编,产生目标文件(.o或.obj文件) 4).链接,产生可运行文件(.out或.exe文件) 以hello.c为例。这个过程能够用以下的图来表示二.预处理
预处理主要包括以下的内容: a.对全部的“#define”进行宏展开。 b.处理全部的条件编译指令,比方“#if”,“#ifdef”。“#elif”,“#else”,“#endif” c.处理“#include”指令,这个过程是递归的,也就是说被包括的文件可能还包括其它文件 d.删除全部的凝视“//”和“/**/” e.加入行号和文件标识 f.保留全部的“#pragma”编译器指令 经过预处理后的.ii文件不包括不论什么宏定义,由于全部的宏已经被展开。而且包括的文件也已经被插入到.ii文件里。
三.编译
编译的过程就是将预处理完的文件进行一系列词法分析,语法分析,语义分析及优化后生成对应的汇编代码文件(.s文件)四.汇编
汇编器是将汇编代码转变成机器能够运行的代码,每个汇编语句差点儿都相应一条机器指令。终于产生目标文件(.o或.obj文件)。五.链接
链接的过程主要包含了地址和空间分配(Address and Storage Allocation)、符号决议(Symbol Resolution)和重定位(Relocation)版权全部。欢迎转载,转载请注明出处。谢谢
相关文章推荐
- 「Cplusplus」在命令提示符下编译C/C++源文件和运行可执行文件
- c++源文件到可执行文件的过程
- 用C++运行批处理文件或是批处理命令的简单方式
- 一个简单的双击就能运行jar文件的打包过程
- Windows中.exe程序的启动过程和C/C++运行时库
- 编程实现文件的复制功能,要求源文件名及目标文件名在程序运行后根据提示输入
- C++:源文件与头文件有什么区别
- 如何添加有新扩展名的文件,使之能当作C/C++源文件而被VC编译处理
- 将eclipse下编译的class文件打包成hadoop集群可以运行的jar包的过程
- Oracle UNDO表空间对应的文件在运行过程中丢失如何恢复
- C/C++程序从编译到最终生成可执行文件的过程分析
- 交叉编译用于android系统里的C/C++应用程序/库文件(其实就是运行于linux之上的应用程序)。
- why C++ 之: Why C++: 源文件与头文件有什么区别
- 用C++运行批处理文件或是批处理命令的简单方式
- 运行带的mdf文件示例的过程
- 巧用头文件,多文件编译少发愁|浅谈实用“StdAfx”|C++编译连接过程
- SQL Server安装过程中出现“以前的某个安装程序已在安装计算机上创建挂起的文件操作,运行程序前必须重启计算机”错误的解决方法
- C++运行过程
- c/c++中运行外部程序或打开文件(转)
- C/C++程序从编译到最终生成可执行文件的过程分析