大家好,今天小编关注到一个比较有意思的话题,就是关于编译器先编译什么内容再编写的问题,于是小编就整理了1个相关介绍编译器先编译什么内容再编写的解答,让我们一起看看吧。

  1. c语言编译器使用前需要做哪些工作?

1、c语言编译器使用前需要做哪些工作?

1、配置

编译器要得知当前的系统环境,例如你所用语言的标准库在哪里、生成的软件要安装在哪里等等。

不同计算机的环境是不同的,因此编译器需要一份配置文件来获得编译参数,从而适应不同的计算机环境,从而编译出在不同计算机上都可以正常运行的代码。

通常这份配置文件是由一个叫做Autoconf的软件自动生成的一个叫做configure的脚本文件,gcc通过运行这份脚本文件来获知编译参数。

2、确定标准库和头文件的位置

对于源码中用到标准库函数和头文件的情况(实际上几乎所有程序都会用到),编译器需要通过上一步生成的配置文件来获知标准库和头文件的位置。

通常来说配置文件里会列出一些具体的目录,等到编译时,编译器就会到这几个目录中寻找目标。

3、确定依赖关系

文件之间往往不是独立的,而是相互依赖的。比如A文件的内容要依赖于B文件的内容(例如A文件内写有#include “B.h”)。这时候编译器就要确定编译这两个文件的先后顺序。在这种A依赖于B的情况下,编译器就要确认做到以下两点:

(1)只有在B编译完成之后,才开始编译A。

(2)每当B变化时,便重新编译A。

这种编译顺序记录在一个叫做makefile的文件里,而这个文件是在运行上文提到的configure脚本时生成的。因此在编译时,必须首先运行configure脚本文件。

4、预编译(precompilation)

我们写程序时经常会有多个文件都引用了同一个文件的情况。在这种情况下,编译器为了防止这个被引用的文件被编译多次,就会在编译源文件之前,先将全部头文件编译完。这个过程就叫做编译器的预编译。

5、预处理(preprocessing)

在这一步中,编译器会将头文件和宏替换为其具体指代的内容,还会移除代码中的注释。

关于编译器先编译什么内容再编写和编译器编译程序的作用是什么的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 编译器先编译什么内容再编写的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于编译器编译程序的作用是什么、编译器先编译什么内容再编写的信息别忘了在本站进行查找喔。