当前位置:首页 » 《资源分享》 » 正文

C语言---编译和链接

25 人参与  2024年09月07日 09:26  分类 : 《资源分享》  评论

点击全文阅读


1、编译环境和运行环境

在ANSI C的任何一种实现中,存在两个不同的环境:

第一种:翻译环境,在这个环境下,源代码被转换为可执行的机器指令(二进制指令);

第二种:执行环境,它用于实际执行代码。

2、翻译环境

                翻译环境是由编译和链接两个大的过程组成的,而编译又可以分解为:预处理(预编              译)、编译、汇编三个过程。

  2.1、预处理(预编译)

在预处理阶段,源文件(.c)和头文件(.h)会被处理成为  .i  的文件。

命令:

  2.2、编译

          编译的过程就是将预处理后的文件进行一系列:词法分析、语法分析、语义分析及优化,生       成相应的汇编代码文件。

命令:

例子分析:

  (1)词法分析

            将源代码程序被输入扫描仪,扫描仪的任务是简单的进行词法分析,把代码中的字符分割       成一系列的记号(关键词、标识符、字面量、特殊字符等)。

      16个字符:

       

  (2)语法分析

           语法分析器是对扫描产生的记号进行语法分析,从而产生语法树,这些语法树是以表达式         为节点的数。

  (3)语义分析

         语义分析器来完成语义分析,即对表达式的语法层面分析。编译器所能做的分析是语义的静     态分析。静态语义分析通常包括声明和类型的匹配,类型的转换等。

2.3、汇编

      汇编器是将汇编代码转变成机器可执行代码(二进制指令),每一个汇编语句几乎都对应一条机器指令。

        命令:

2.4、链接

      链接的过程主要包括:地址和空间分配,符号决议和重定位等这些步骤。

      链接解决的是一个项目中多文件、多模块之间相互调用的问题。

3、运行环境

多多指教啦!!


点击全文阅读


本文链接:http://zhangshiyu.com/post/156513.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1