clion是jetbrains公司旗下所推出的一款专为旗下c/c所怎么设计的跨平台ide,它是以intellij为基础设计的,同样的还中有了许多智能功能来增强开发人员的生产力。
同时接受python哦,完全相用过intellijidea的新过java的盆友都很知道该ide的强大,所以做为jetbrains旗下的c/c开发工具clion则是乾坤二卦了许多智能功能来增强开发人员的生产力,能提高开发人员的工作效率。
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)
在这一步中,编译器会将头文件和宏修改成凭此具体详细特指的内容,还会移除代码中的注释。