C/C++项目编译工具简单介绍
本文基于一个需要对C语言家族项目进行编译、生成解决方案的开发者的视角,对编译过程中所需要的各个工具进行简要的名词解释。
GCC|LLVM提供编译器<--GNUMake根据配置文件进行编译<--Autoconf|CMake自动生成编译用的配置文件
注:上面提到的各类集合和工具所能做的事情并不仅仅局限于此。
GCC|LLVM
GCC和LLVM是我们在编译C系项目时最常使用的两个工具链。
GCC的全称是GNUCompilerCollection,即GNU编译器集合;
LLVM的全称就是LLVM(最开始的时候作为LowLevelVirtualMachine的缩写,现在涵义已经发生了变化),现在是作为LLVM的编译器和工具链集合的一个总称。
gcc,全称GNUCCompiler,是GCC中的C编译器;
g++,全称GNUC++Compiler,是GCC中的C++编译器。
Clang是LLVM集合前端中的C系编译器和工具链。Clang兼容GCC,Clang出现的时间比GCC晚,相比GCC,Clang的编译速度更快,错误提示更友好。
GNUMake
当项目的源文件数量很多,结构十分复杂时,仅仅使用编译器对项目进行编译,会是一件十分繁琐的事情,引用头文件目录,引入源文件,引入第三方静态库动态库都会十分的繁琐。
GNUMake能够基于前面提供的编译器,选择项目中合适的源文件来生成项目所需的中间目标文件和可执行文件。开发者通过编写一个名为makefile的文件来指导GNUMake处理编译。
Autoconf|CMake
Autoconf是m4宏处理的扩展包,通过它可以生成一个脚本,这个脚本能够自动生成编译用的配置文件。Autoconf和Automake是一对。
CMake是一个开源的软件,开发者通过编写独立于平台和编译器的配置文件,来指导项目的编译过程。
Autoconf中涉及的概念比较多,生成脚本的步骤比较繁琐,CMake在使用上更为简单。
参考链接
LLVM
GCC,theGNUCompilerCollection
GNUMake
diffbetweengccandg++
ProgrammingLanguagesSupportedbyGCC
Clang
CMake
Autoconf
以上就是本次介绍的全部知识点内容,希望毛票票整理的内容能够帮助到大家,如果有其他步骤可以联系下方小编。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。