C/C++ 项目编译工具简介
Posted tangyikejun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C++ 项目编译工具简介相关的知识,希望对你有一定的参考价值。
本文基于一个需要对 C 语言家族项目进行编译、生成解决方案的开发者的视角,对编译过程中所需要的各个工具进行简要的名词解释。
GCC | LLVM 提供编译器 <-- GNU Make 根据配置文件进行编译 <-- Autoconf | CMake 自动生成编译用的配置文件
注:上面提到的各类集合和工具所能做的事情并不仅仅局限于此。
GCC | LLVM
GCC
和 LLVM
是我们在编译 C 系项目时最常使用的两个工具链。
GCC
的全称是 GNU Compiler Collection , 即 GNU 编译器集合;
LLVM
的全称就是 LLVM (最开始的时候作为 Low Level Virtual Machine 的缩写,现在涵义已经发生了变化),现在是作为 LLVM 的编译器和工具链集合的一个总称。
gcc
,全称 GNU C Compiler,是 GCC 中的 C 编译器;
g++
,全称 GNU C++ Compiler,是 GCC 中的 C++ 编译器。
Clang
是 LLVM 集合前端中的 C 系编译器和工具链。Clang 兼容 GCC ,Clang 出现的时间比 GCC 晚,相比 GCC , Clang 的编译速度更快,错误提示更友好。
GNU Make
当项目的源文件数量很多,结构十分复杂时,仅仅使用编译器对项目进行编译,会是一件十分繁琐的事情,引用头文件目录,引入源文件,引入第三方静态库动态库都会十分的繁琐。
GNU Make
能够基于前面提供的编译器,选择项目中合适的源文件来生成项目所需的中间目标文件和可执行文件。开发者通过编写一个名为 makefile
的文件来指导 GNU Make
处理编译。
Autoconf | CMake
Autoconf
是 m4
宏处理的扩展包,通过它可以生成一个脚本,这个脚本能够自动生成编译用的配置文件。Autoconf
和 Automake
是一对。
CMake
是一个开源的软件,开发者通过编写独立于平台和编译器的配置文件,来指导项目的编译过程。
Autoconf 中涉及的概念比较多,生成脚本的步骤比较繁琐, CMake 在使用上更为简单。
参考链接
LLVM
GCC,the GNU Compiler Collection
GNU Make
diff between gcc and g++
Programming Languages Supported by GCC
Clang
CMake
Autoconf
以上是关于C/C++ 项目编译工具简介的主要内容,如果未能解决你的问题,请参考以下文章
从事UNIX/LInux服务器编程最方便的代码编译工具------(eclipse for c/c++)(FileZilla)(Secure CRT) 这三种一定要一起使用 之4