装完gcc后需按四步最简路径运行C程序:①执行gcc --version确认安装成功;②编写严格格式的hello.c文件;③用gcc hello.c -o hello生成可执行文件;④执行./hello运行程序。

装完 gcc 就能直接编译,但很多人卡在“写了代码却跑不起来”,核心问题不是装没装好,而是没走对那几步最简路径。
确认gcc可用且版本正确
别跳过这步——很多“编译失败”其实是根本没装上或路径不对。
- 终端执行
gcc --version,看到类似gcc (Ubuntu 11.4.0-1ubuntu1~22.04)这样的输出才算成功 - 如果报错
command not found,说明gcc不在$PATH里,得检查安装是否完成(Ubuntu 上通常用sudo apt install build-essential,它会连带装好gcc、g++、make) - Windows 用户用 MinGW 或 MSYS2 安装后,必须把
mingw64/bin(或类似路径)加进系统环境变量Path,否则命令行里找不到gcc
写一个合法的hello.c文件
看似简单,但格式错一个字符就编译不过。尤其注意:空格、换行、括号、分号、头文件名大小写。
- 用任意文本编辑器(如 VS Code、vim、记事本)新建文件,保存为
hello.c(后缀必须是.c) - 内容严格按如下写(
#include和main之间不能少换行,printf后面要有分号):#include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } - 常见错误:
#include <stdio.h></stdio.h>写成#include "stdio.h"(引号在标准头文件里不推荐)、漏掉\n导致输出不换行、main函数没写return 0;(C99+ 允许省略,但初学建议显式写)
用gcc命令生成并运行可执行文件
一条命令就能搞定,不需要 Makefile 或 IDE。
- 终端进入
hello.c所在目录,执行:gcc hello.c -o hello - 这条命令含义:
gcc调用编译器,hello.c是输入源文件,-o hello指定输出可执行文件名为hello(不加-o默认输出为a.out) - 执行
ls -l应该能看到新生成的hello文件(权限含x) - 运行:
./hello(注意前面的./,Linux/macOS 不会自动查当前目录) - 如果报错
Permission denied,说明文件没执行权限,补一句chmod +x hello即可(但gcc -o正常情况下会自动设好权限,极少需要手动)
遇到“undefined reference to ‘printf’”这类链接错误
这不是代码写错了,而是 gcc 没链接标准 C 库——通常只发生在极简交叉编译环境或误用了 -nostdlib 等选项时,但新手偶尔也会撞上。
- 正常情况下
gcc hello.c -o hello就够了;如果手动加了-nostdlib或-nodefaultlibs,就必须自己指定 libc,比如:gcc -nostdlib hello.c -lc -lgcc - 更常见的其实是文件名写错,比如把
hello.c误写成hello.cpp,gcc 会当 C++ 处理,而没加extern "C"就调不到printf - 另一个隐蔽坑:文件编码是 UTF-8 with BOM,某些老版本 gcc 会把 BOM 当乱码报错,用编辑器另存为“UTF-8 无 BOM”即可
真正容易被忽略的是:gcc 编译过程其实分预处理、编译、汇编、链接四步,但日常只需记住 gcc source.c -o exe 这一招就够用;想看中间产物(比如 .i/.s/.o 文件),才需要加 -E、-S、-c 等参数——多数人第一次跑通程序前,根本不需要碰它们。


















