您的位置:首页 > 编程语言 > C语言/C++

黑马程序员--------------------------------------------C语言学习记录十

2015-05-10 11:28 393 查看


----------- android培训java培训、java学习型技术博客、期待与您交流! -----------

C语言的运行机制

请思考一个问题,用C语言编写的程序是如何被计算机识别运行的呢?你一定会想到:翻译!是的,C语言编写的程序需要用“翻译官”翻译成计算机能识别的0和1符号,这个“翻译官”就是编绎器。C语言从源程序到生成可执行的目标文件的主要过程如下:源代码à预处理à编译à链接à可执行文件,具体的流程如图所示。

接下以图为例,对编译的每一步进行详细分析,具体解释如下:

1、 预处理:对源文件代码中的宏进行替换,并将包含的头文件整体插入源文件中,为接下来的操作做准备。C语言的编译预处理功能主要包括宏定义、文件包含和条件编译这3种。

2、 编译:编绎器读取预处理后的输出文件,对其进行词法和语法分析,将高级语言指令转换为功能等效的汇编代码。

3、 链接:将编译后得到的零散的二进制代码文件组合成二进制可执行文件。该步骤主要完成两个工作:一是解析其他文件中函数引用或其他引用,二是解析库函数。

理解程序的运行过程,有助于我们在编程时定位错误。


----------- android培训java培训、java学习型技术博客、期待与您交流! -----------

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: