跳到主要内容

开发环境配置

在开始编写 C 程序之前,需要先配置好开发环境。一个完整的 C 开发环境包括编译器、编辑器和调试工具。

编译器选择

C 语言需要编译器将源代码转换为可执行文件。主流的 C 编译器有:

编译器平台特点
GCCLinux, Windows, macOS开源免费,标准支持完善,使用最广泛
ClangmacOS, Linux, Windows苹果主推,编译速度快,错误提示友好
MSVCWindows微软出品,Windows 开发首选,IDE 集成度高

Windows 环境配置

方式一:安装 MinGW-w64(推荐)

MinGW-w64 是 Windows 上的 GCC 移植版本,支持 32 位和 64 位程序编译。

  1. 下载 MinGW-w64

    访问 MinGW-w64 releases 页面,下载最新的 x86_64-posix-seh 版本压缩包。

  2. 解压并配置环境变量

    将压缩包解压到 C:\mingw64,然后将 C:\mingw64\bin 添加到系统环境变量 PATH 中。

  3. 验证安装

    打开命令提示符,输入以下命令:

    gcc --version

    如果显示 GCC 版本信息,则安装成功。

方式二:安装 Visual Studio

Visual Studio 是微软的集成开发环境,内置 MSVC 编译器。

  1. 下载 Visual Studio Community(免费版)
  2. 安装时选择"使用 C++ 的桌面开发"工作负载
  3. 安装完成后,可以使用 Visual Studio 或 Developer Command Prompt 编译 C 程序

方式三:使用 WSL

Windows Subsystem for Linux 可以在 Windows 上运行 Linux 环境。

  1. 启用 WSL:在 PowerShell(管理员)中运行 wsl --install
  2. 安装 Ubuntu 发行版
  3. 在 WSL 中使用 Linux 的方式安装 GCC

Linux 环境配置

大多数 Linux 发行版默认安装了 GCC,如果没有,可以使用包管理器安装。

Ubuntu/Debian

sudo apt update
sudo apt install build-essential

build-essential 包含了 GCC、G++、make 等开发工具。

CentOS/RHEL/Fedora

# CentOS/RHEL
sudo yum groupinstall "Development Tools"

# Fedora
sudo dnf groupinstall "Development Tools"

验证安装

gcc --version

macOS 环境配置

macOS 默认使用 Clang 编译器。

安装 Xcode Command Line Tools

打开终端,运行以下命令:

xcode-select --install

会弹出安装对话框,点击安装即可。

验证安装

gcc --version
# 或
clang --version

macOS 的 gcc 命令实际上是 Clang 的别名。

编辑器配置

VS Code(推荐)

Visual Studio Code 是一款轻量级但功能强大的代码编辑器,配合扩展可以实现完整的 C 开发体验。

  1. 安装 VS Code

    官网 下载安装

  2. 安装 C/C++ 扩展

    打开 VS Code,按 Ctrl+Shift+X 打开扩展面板,搜索并安装 "C/C++" 扩展(由 Microsoft 发布)

  3. 安装 Code Runner 扩展(可选)

    搜索并安装 "Code Runner" 扩展,可以一键运行代码

  4. 配置 tasks.json

    在项目目录下创建 .vscode/tasks.json

    {
    "version": "2.0.0",
    "tasks": [
    {
    "label": "compile",
    "type": "shell",
    "command": "gcc",
    "args": [
    "-g",
    "${file}",
    "-o",
    "${fileDirname}/${fileBasenameNoExtension}"
    ],
    "problemMatcher": ["$gcc"],
    "group": {
    "kind": "build",
    "isDefault": true
    }
    }
    ]
    }
  5. 配置 launch.json(用于调试)

    创建 .vscode/launch.json

    {
    "version": "0.2.0",
    "configurations": [
    {
    "name": "Debug C",
    "type": "cppdbg",
    "request": "launch",
    "program": "${fileDirname}/${fileBasenameNoExtension}",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}",
    "environment": [],
    "externalConsole": false,
    "MIMode": "gdb",
    "preLaunchTask": "compile"
    }
    ]
    }

Vim/Neovim

对于习惯命令行的开发者,Vim 是一个高效的选择。

基本配置(~/.vimrc):

" 启用语法高亮
syntax on

" 显示行号
set number

" 自动缩进
set autoindent
set smartindent

" 设置缩进宽度
set tabstop=4
set shiftwidth=4
set expandtab

" 显示匹配的括号
set showmatch

编译与运行

基本编译命令

创建一个简单的 C 程序 hello.c

#include <stdio.h>

int main(void) {
printf("Hello, World!\n");
return 0;
}

编译并运行:

# 编译
gcc hello.c -o hello

# 运行
./hello # Linux/macOS
hello # Windows

常用编译选项

选项说明
-o <filename>指定输出文件名
-g生成调试信息
-Wall开启所有常见警告
-Wextra开启额外警告
-std=c11指定 C 标准
-O0 -O1 -O2 -O3优化级别
-E只进行预处理
-S生成汇编代码
-c只编译不链接

推荐的编译命令

gcc -Wall -Wextra -std=c11 -g hello.c -o hello

这个命令启用了常见警告、使用 C11 标准、包含调试信息。

Make 工具

当项目有多个源文件时,使用 Make 可以简化编译过程。

创建 Makefile

CC = gcc
CFLAGS = -Wall -Wextra -std=c11 -g

# 目标文件
TARGET = myprogram

# 源文件
SRCS = main.c utils.c

# 目标文件
OBJS = $(SRCS:.c=.o)

# 默认目标
all: $(TARGET)

# 链接
$(TARGET): $(OBJS)
$(CC) $(CFLAGS) -o $@ $^

# 编译
%.o: %.c
$(CC) $(CFLAGS) -c $<

# 清理
clean:
rm -f $(OBJS) $(TARGET)

# 重新编译
.PHONY: all clean

使用方法:

make        # 编译
make clean # 清理

调试工具

GDB

GDB 是 GNU 调试器,可以用于调试 C 程序。

编译时需要加 -g 选项:

gcc -g hello.c -o hello
gdb ./hello

常用 GDB 命令:

命令简写说明
break mainb main在 main 函数设置断点
runr运行程序
nextn单步执行(不进入函数)
steps单步执行(进入函数)
continuec继续执行
print varp var打印变量值
backtracebt显示调用栈
quitq退出 GDB

LLDB(macOS)

macOS 上可以使用 LLDB:

lldb ./hello

命令与 GDB 类似,但有一些差异。

常见问题

1. 找不到 gcc 命令

确保编译器已安装,并且其 bin 目录已添加到 PATH 环境变量中。

2. 中文乱码

Windows 控制台默认使用 GBK 编码,而源文件可能是 UTF-8。解决方法:

  • 使用 UTF-8 编码保存源文件,并在编译时添加 -fexec-charset=GBK 选项
  • 或者将控制台编码改为 UTF-8:chcp 65001

3. 头文件找不到

确保头文件路径正确,可以使用 -I 选项指定头文件目录:

gcc -I./include main.c -o main

4. 链接错误

确保库文件路径正确,可以使用 -L 指定库目录,-l 指定库名:

gcc main.c -L./lib -lmylib -o main

下一步

环境配置完成后,就可以开始学习 基础语法 了。