程序的执行过程
2013-12-05 10:48
197 查看
要理解一个程序的执行过程,首先要理解什么是编译器。我们用C语言写的程序,计算机只能识别机器语言(二进制指令),计算机并不能理解。因此,必须将C语言转换为机器语言。编译器就是用来实现这一功能的。编译器将源代码文件按照一定的对应规则映射程计算机能够识别的二进制指令。
关于源文件、目标文件和可执行文件
源文件:保存源代码的文件(*.c, *.cpp)
目标文件:编译器根据源文件创建的机器语言指令成为目标代码,包含目标代码的磁盘文件即目标文件。
一般为(*.obj)文件,Linux下为(*.o)文件。
编译完源代码后生成的目标文件并不能直接执行。一般我们编写的程序都回引用基本的库函数,因此在运行程序之前还要把库函用定义好的目标代码替换,这个过程称为链接。就是把自己写的源代码的目标文件与库函数的目标文件组合起来,生成最终的可执行文件。链接由链接器完成。
关于源文件、目标文件和可执行文件
源文件:保存源代码的文件(*.c, *.cpp)
目标文件:编译器根据源文件创建的机器语言指令成为目标代码,包含目标代码的磁盘文件即目标文件。
一般为(*.obj)文件,Linux下为(*.o)文件。
编译完源代码后生成的目标文件并不能直接执行。一般我们编写的程序都回引用基本的库函数,因此在运行程序之前还要把库函用定义好的目标代码替换,这个过程称为链接。就是把自己写的源代码的目标文件与库函数的目标文件组合起来,生成最终的可执行文件。链接由链接器完成。
相关文章推荐
- wxWidgets程序一般执行过程
- 通过反汇编程序观察计算机执行过程
- java程序执行过程
- Java程序执行过程分析(堆栈)
- C程序编译执行过程
- 【编译原理】程序的编译链接执行过程
- C++ 程序执行过程
- Class文件,java程序执行过程,classloader原理
- 动态库连接器–动态库链接信息(Mach-O文件格式和程序从加载到执行过程)
- 程序执行过程
- 程序执行的详细过程
- Linux基础系列-可执行程序的产生过程
- 关于源程序到可执行程序的过程
- Linux进程启动过程分析do_execve(可执行程序的加载和运行)---Linux进程的管理与调度(十一)
- 一步一步C#——1 C#程序编写执行过程
- Linux操作系统中/sbin/init程序的执行过程
- 可执行程序加载到内存的过程
- linux下C程序从编写到执行完整过程
- MFC学习之程序执行过程梳理
- 解决存储过程执行快,但程序调用则执行慢的问题