程序执行过程

简介: http://blog.csdn.net/ljinddlj/archive/2008/08/30/2853687.aspx   要理解一个程序的执行过程,首先要理解什么是编译器。我们用C语言写的程序,计算机只能识别机器语言(二进制指令),计算机并不能理解。

http://blog.csdn.net/ljinddlj/archive/2008/08/30/2853687.aspx

 

要理解一个程序的执行过程,首先要理解什么是编译器。我们用C语言写的程序,计算机只能识别机器语言(二进制指令),计算机并不能理解。因此,必须将C语言转换为机器语言。编译器就是用来实现这一功能的。编译器将源代码文件按照一定的对应规则映射成计算机能够识别的二进制指令。

 

 

关于源文件、目标文件和可执行文件
源文件:保存源代码的文件(*.c, *.cpp)
目标文件:编译器根据源文件创建的机器语言指令成为目标代码,包含目标代码的磁盘文件即目标文件。
 一般为(*.obj)文件,Linux下为(*.o)文件。

编译完源代码后生成的目标文件并不能直接执行。一般我们编写的程序都会引用基本的库函数,因此在运行程序之前还要把库函用定义好的目标代码替换,这个过程称为链接。就是把自己写的源代码的目标文件与库函数的目标文件组合起来,生成最终的可执行文件。链接由链接器完成。

 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ljinddlj/archive/2008/08/30/2853687.aspx

相关文章
|
6月前
|
Python
【python脚本】执行过程中触发若干次就停止执行脚本的方式
【python脚本】执行过程中触发若干次就停止执行脚本的方式
|
3月前
|
调度
程序后台执行与前台执行速度出现差异
程序后台执行与前台执行速度出现差异
29 0
|
3月前
|
NoSQL Shell C语言
GDB调试学习(一):单步执行和跟踪函数调用
GDB调试学习(一):单步执行和跟踪函数调用
46 1
|
6月前
|
Windows
启动(程序还没执行生成dump文件的代码)就崩溃的处理流程
启动(程序还没执行生成dump文件的代码)就崩溃的处理流程
|
9月前
在多线程中某段代码只执行一次
使用Automic包中的AtomicBoolean结合CAS来实现。当只希望需要某段代码在多线程中只执行一次的时候,此时你会发现boolean这个变量类型是多么有用。
80 0
|
数据采集 JSON 小程序
【小程序】小程序代码的构成
【小程序】小程序代码的构成
119 0
【小程序】小程序代码的构成
|
Java
面经 - 【多线程】现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
面经 - 【多线程】现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
267 0
|
C语言
执行操作时候只执行一次的标志位逻辑实现(C语言)
执行操作时候只执行一次的标志位逻辑实现(C语言)
|
C++ 编译器 程序员
C++程序设计基础(1)程序的编译和执行
注:读《程序员面试笔记》笔记总结 1.编译执行过程 1.1预处理: (1)所有以#开头的代码都属于预处理的范畴:#include,#define,#ifdef(#ifndef,#endif),#other(其他宏指令) (2)处理预定义的宏:例如__DATA__,__FILE__(前后都是两个下划...
1045 0