Linux 命令速查
开发工具 man cc

cc

调用系统默认 C 编译器的通用命令

返回

补充说明

cc 是 POSIX 规定的 C 编译器接口名,通常是指向 gcc 或 clang 的符号链接(Debian 通过 update-alternatives 管理)。使用 cc 的构建脚本不绑定具体编译器,便于切换实现。

它只负责编译与链接,不提供包管理或构建编排;复杂项目应使用 Make、CMake 或 Meson。编译内核模块或依赖特定扩展时,应显式使用 gcc/clang 并确认版本。

语法

cc [选项] 源文件...

选项

  • -c:只编译为目标文件,不链接
  • -o FILE:指定输出文件名
  • -O0/-O1/-O2/-O3:优化级别
  • -g:生成调试信息
  • -Wall -Wextra:启用常用警告
  • -I DIR:追加头文件搜索路径
  • -L DIR:追加库搜索路径
  • -l LIB:链接指定库

实例

# 编译并链接单个源文件
cc -Wall -O2 hello.c -o hello

# 分步编译:先生成目标文件
cc -c -g -Wall util.c -o util.o

# 链接多个目标文件并引入数学库
cc main.o util.o -lm -o app

# 指定头文件与库路径
cc -I./include -L./lib -lfoo app.c -o app

# 查看 cc 实际指向哪个编译器
cc --version
readlink -f "$(command -v cc)"

链接顺序很重要:依赖库应放在使用它的目标文件之后,否则可能报 undefined reference。

参考链接