C/C++项目编译工具简单介绍

所属分类: 软件编程 / C 语言 阅读数: 69
收藏 0 赞 0 分享

本文基于一个需要对 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++无法重载点符号、::、sizeof等的原因

这篇文章主要介绍了C++无法重载点符号、::、sizeof等的原因的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

实例讲解C语言编程中的结构体对齐

这篇文章主要介绍了C语言编程中的结构体对齐,值得注意的是一些结构体对齐的例子在不同编译器下结果可能会不同,需要的朋友可以参考下
收藏 0 赞 0 分享

详解C语言的结构体中成员变量偏移问题

这篇文章主要介绍了C语言的结构体中成员变量偏移问题,以讲解如何编写宏来对成员变量进行修改为主,需要的朋友可以参考下
收藏 0 赞 0 分享

详解C语言结构体中的函数指针

这篇文章主要介绍了详解C语言结构体中的函数指针,文中对函数指针的基本概念也有讲解,需要的朋友可以参考下
收藏 0 赞 0 分享

C++编程中的函数指针初步解析

这篇文章主要介绍了C++编程中的函数指针初步解析,函数指针在C语言和C++学习中都是非常重要的知识,需要的朋友可以参考下
收藏 0 赞 0 分享

实例解析C++中类的成员函数指针

这篇文章主要介绍了C++中类的成员函数指针,例子中以讨论用函数指针调用类的成员函数为主,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言中的函数指针基础学习教程

这篇文章主要介绍了C语言中的函数指针基础学习教程,包括函数指针作为参数来传递等重要知识,需要的朋友可以参考下
收藏 0 赞 0 分享

深入解析C语言中函数指针的定义与使用

这篇文章主要介绍了C语言中函数指针的定义与使用,是C语言入门学习中的基础知识,需要的朋友可以参考下
收藏 0 赞 0 分享

详解C语言编程中的函数指针以及函数回调

这篇文章主要介绍了C语言编程中的函数指针以及函数回调,函数回调实际上就是让函数指针作函数参数、调用时传入函数地址,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言中的函数指针学习笔记

这篇文章主要介绍了C语言中的函数指针的一些学习知识点记录,文中作者整理了一些比较interesting的函数指针用法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多