C语言项目开发常用目录结构

本文记录了C语言项目开发中几种常用的目录结构。


C 项目的目录结构没有“唯一标准”,但有几种业界常见、可扩展的组织方式。选哪种,取决于你的项目规模和复杂度。


最简单结构(小项目 / 练习)

1
2
3
4
5
project/
├── main.c
├── util.c
├── util.h
└── Makefile

按“模块拆分”(推荐入门)

1
2
3
4
5
6
7
8
9
10
11
project/
├── src/
│ ├── main.c
│ ├── net.c
│ ├── file.c
│ └── log.c
├── include/
│ ├── net.h
│ ├── file.h
│ └── log.h
├── Makefile

按“模块分目录”(工程常用)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
project/
├── src/
│ ├── main.c
│ ├── net/
│ │ ├── server.c
│ │ ├── client.c
│ │ └── socket.c
│ ├── file/
│ │ ├── file.c
│ │ └── mmap.c
│ ├── log/
│ │ └── log.c
│ └── utils/
│ └── utils.c
├── include/
│ ├── net/
│ ├── file/
│ ├── log/
│ └── utils/
├── Makefile

企业级结构(完整工程)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
project/
├── src/ # 源码
├── include/ # 头文件
├── build/ # 编译中间文件
├── bin/ # 可执行文件
├── lib/ # 静态/动态库
├── tests/ # 测试代码
├── docs/ # 文档
├── scripts/ # 脚本
├── config/ # 配置
├── third_party/ # 第三方库
├── logs/ # 日志文件
├── Makefile
└── README.md