跳转至

安装 C 语言编译器

本篇相对比较复杂,如果在本篇配置遇到难以解决的困难,而作业 / 实验截止日期快要到了,可以跳过本篇参考 下一篇 安装 Dev-C++ 进行临时开发。

写完了 C 语言代码,我们需要让它变成能跑的程序,这就需要准备 C 语言的编译器支持。以下主要介绍 Windows 系统的配置。

就决定是你了,gcc!

自由软件 (free software),根据自由软件基金会对其的定义,是一类可以不受限制地自由使用、复制、研究、修改和分发的,尊重用户自由的软件。——维基百科

gcc,全称 GNU Compiler Collection,著名的自由软件,被许多现代类 Unix 操作系统采用为标准编译器,但是 Windows 上并不直接支持。我们想要在 Windows 系统上使用,一般得依赖 MinGW gcctdm-gcc 也是基于 MinGW gcc 来的。

有能力的同学推荐在 Windows 上开启 WSL,使用 WSL 进行 C 语言开发。WSL 可以理解为在 Windows 的电脑中模拟一个 Linux 的小系统,从而能方便地控制环境。WSL 安装简单引导提供了一个简单的引导。

Windows 小白教程之 tdm-gcc

前面选择了 WSL 的同学可以自行配置或者参考 WSL 安装简单引导,然后再看 3 Mac 用户可以直接看 3

可以按照老师的视频教程下载 tdm-gcc,目前最新版为 gcc 10.3.0

需要判断自己的 Windows 64 位系统还是 32 位系统(现在一般都是 64 位系统

点击 Win 键,输入“关于”,如下图所示。打开“关于你的电脑”后就可以看到电脑是不是 64 位了,新电脑一般都是 64 位。

win11_about

桌面找到“此电脑”,右键属性

pc_right_attr

可以看到是 64 位系统还是 32 位系统。

win10_x64

64 位系统直接下载 tdm64-gcc-10.3.0-2.exe 安装即可,32 位则选择 tdm-gcc-10.3.0.exe

准备安装。对于零基础的同学,电脑里应该还没装过 tdm-gcc,选择 create 即可。

tdmgcc_create

接下来就是根据 64/32 位系统选择对应的版本

tdm32_or_64

选择安装路径,推荐零基础同学选择默认路径(如 64 位的 C:\TDM-GCC-64

tdmgcc_path

接下来是要认真考虑的页面。

  • 可选的安装项
    • 可以全选。如果确定不需要一些东西可以不选,比如确定自己不会再需要调试 32 位程序的话可以不选 gdb32
  • Start Menu items
    • 看个人意愿,可以不选
  • Add to PATH
    • 建议选上。如果不选或者忘选了,将会需要自己配置 tdm-gcc 的环境变量路径。
tdmgcc_install_items

如果希望用更新版本的 gcc 可以使用 winlibs 编译的 mingw-gcc,或者你可以自己选择。

测试 gcc 是否正确安装

在命令提示符 / 终端中输入 gcc,应当出现如下信息:

gcc: fatal error: no input files
compilation terminated.

不了解 Windows 上的命令提示符 / 终端的同学可以参考运行与终端

如果没有,可能是你还没有安装 gcc,或者你前一步 Add to PATH 没有正常进行,可能需要参照 Windows 修改环境变量进行环境变量的检查。

命令提示符 / 终端中输入 gcc --version,应当出现类似如下的信息。

1
2
3
4
gcc.exe (tdm64-1) 9.2.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

我的版本显示是 9.2.0,是因为装了旧版本的 tdm-gcc,你们的显示将会是 10.3.0

如下命令安装 gcc。如果错误,尝试 sudo apt-get update 后再重新执行下面的命令。

sudo apt install gcc

终端中输入 gcc,应当出现如下信息:

gcc: fatal error: no input files
compilation terminated.

终端中输入 gcc --version,可能会出现类似如下的信息:

1
2
3
4
gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Mac 用户直接使用 gcc -v (或者 xcode-select --install)会提示你安装开发者工具,然后就会自动安装 XCode 在内的一系列开发支持,最后告诉你你安装的 gcc 其实是 clang,本质上是它将 gcc 作为 clang 的别名 (alias) 了。

成功安装后,终端输入 gcc 会出现如下信息:

clang: error: no input files

使用 gcc --version 可能出现以下信息:

1
2
3
4
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: x86_64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

gcc clang 都是 C 语言编译器,只是特性上存在差异。在作业和实验中,一个好的遵从标准的 C 代码,由不同的编译器编译后不应当产生不同的运行结果。因此如果你使用 clang 编译 C 代码运行不符合预期,代码出问题的概率比 clang 特性出问题的概率大很多。

Windows 修改环境变量

Windows 用户环境变量配置出现问题了才需要看这一小节

检查一下环境变量,Win + R 键输入 sysdm.cpl 后回车,会出现 “系统属性” 界面,选择 “高级”,如下图所示:

env_var

打开环境变量,在 “系统变量” 或者 “用户变量” 中找到 PATH 变量,在其中增加一项 tdm-gcc 的路径。例如你如果默认安装 tdm-gcc,那么路径可能就是 C:\TDM-GCC-64\bin