C 语言编译器的作用是将 C 程序的源码翻译成特定计算机硬件上可执行的二进制文件。

在默认 C 程序的编译与运行发生在同一环境的前提下,根据可执行文件运行的环境可以将 C 语言编译器分为桌面操作系统和嵌入式操作系统两大类。

桌面操作系统上的 C 语言编译器

桌面操作系统上常用的 C 语言编译器有:

  1. Visual C++
  2. GCC
  3. Clang

当前主流的三类桌面操作系统及其上常用的编译器为:

  1. Windows: Visual C++ / GCC / Clang
  2. Unix/Linux: GCC / Clang
  3. OS X/iOS: Clang

Visual C++ (简称 MSVC ) 是微软开发的 C 编译器,只能用于 Windows 系统。
MSVC 是非开源软件,个人用户可以通过社区版 Visual Studio 免费使用该编译器。
但是未经微软授权, MSVC 不能应用到商业化产品。

GCC 和 Clang 可用于 Windows 系统,但主要用于 Unix/Linux 系统。
Clang 编译器是 LLVM 项目的一部分,由于该项目是在 Apple 主推下发展的,所以在 OS X 系统中,Clang 编译器又被称为 Apple LLVM 编译器。
GCC 与 Clang 编译器编译出的可执行程序一般没有任何限制,应用程序可以随意发布和商用。

嵌入式系统上的 C 语言编译器

不同型号的嵌入式设备常常需要对应的配套编译器,常见的有:

  1. Keil C51: Keil公司的 51 系列单片机
  2. AVR GCC: Arduino 开发板
  3. ADS、RVDS、DS-5 Studio: ARM 架构设备
  4. CCS: TI 公司的 DSP 设备
  5. Visual DSP++: ADI 公司的 DSP 设备

更多文章请关注《万象专栏》