425 字
1 分钟
【C】开发环境与调试
2026-05-19
C

C 语言标准版本#

标准说明
C89 / C90最早的 ANSI/ISO 标准,许多教材以此为基础
C99引入 // 注释、变长数组、柔性数组成员、inline
C11增加 _Generic、原子类型、可选 VLA 等
C17对 C11 的缺陷修复,无重大新特性
C23最新标准(编译器支持程度因工具链而异)

实际开发中需确认编译器默认标准(如 gcc -std=c11)。

编译流程#

从源文件到可执行文件通常经历四个阶段:

步骤命令示例作用
预处理gcc -E hello.c -o hello.i展开头文件与宏,处理条件编译,删除注释,生成 .i
编译gcc -S hello.i -o hello.s语法与语义分析,生成汇编 .s
汇编gcc -c hello.s -o hello.o将汇编转为机器码目标文件 .o
链接gcc hello.o -o hello合并目标文件与库,生成可执行文件

也可一步完成:gcc hello.c -o hello

调试(GDB)#

编译时加 -g 生成调试信息:

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

常用 GDB 命令:

命令简写说明
list列出源码
break 行号b在指定行设断点
runr运行程序
nextn单步,不进入函数
steps单步,进入函数
print 变量p打印变量值
continuec从断点继续执行
finish执行完当前函数并返回
quit退出 GDB

注意:程序在断点处暂停时,尚未执行断点所在那一行。

注释#

// 单行注释(C99 起)
/*
* 多行注释
*/

多写注释有助于可读性与协作;注释不参与编译,但应与代码同步维护。

标识符命名规则#

  • 由字母、数字、下划线组成
  • 不能以数字开头
  • 区分大小写
  • 不能使用关键字(如 intreturn

合法示例:count_tempvalue2。非法示例:2valueint

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

【C】开发环境与调试
https://lysj.work/posts/studynotes/c/c开发环境与调试/
作者
Sekiro
发布于
2026-05-19
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录