C++ 项目目录结构

目录结构

project_root/
├── bin/                # 可执行文件目录
│   ├── my_app          # 可执行文件
│   └── ...             # 其他可执行文件或脚本
│
├── build/              # 编译产物目录
│   └── ...             # 编译生成的中间文件和可执行文件
│
├── include/            # 头文件目录
│   ├── MyClass.h       # 类的头文件
│   └── ...             # 其他头文件
│
├── lib/                # 外部库目录(可选)
│   └── ...             # 外部库文件
│
├── resources/          # 资源文件目录
│   ├── images/         # 图片文件
│   │   └── logo.png
│   ├── config/         # 配置文件
│   │   └── app_config.json
│   └── data/           # 数据文件
│       └── data.csv
│
├── src/                # 源代码目录
│   ├── main.cpp        # 主函数文件
│   ├── MyClass.cpp     # 类的实现文件
│   └── ...             # 其他源文件
│
├── tests/              # 测试代码目录(可选)
│   ├── test_main.cpp   # 测试主函数文件
│   └── ...             # 其他测试文件
│
├── CMakeLists.txt      # CMake 构建脚本(如果使用 CMake)
├── Makefile            # Makefile 构建脚本(如果使用 Make)
├── README.md           # 项目说明文件
└── LICENSE             # 许可证文件

bin 和 build 的区别

bin

  • 用途bin 目录通常用于存放构建完成后生成的可执行文件或脚本。它是最终用户运行程序时所需的文件所在的目录。
  • 特点
    • 可以包含在版本控制中,尤其是在发布可执行文件或脚本时。
    • 是一个相对稳定的目录,即使清空 build 目录,bin 目录中的文件也应保持不变。
    • 在一些项目中,bin 目录也可以包含开发工具或辅助脚本。

build

  • 用途build 目录通常用于存放编译过程中生成的中间文件和最终的可执行文件。它是一个临时目录,包含编译产物,如对象文件(.o.obj)、依赖文件、生成的 Makefile 或其他构建系统的文件。
  • 特点
    • 是一个临时目录,可以随时清空或删除而不会影响源代码。
    • 通常不包含在版本控制中(例如,通过 .gitignore 忽略)。
    • 有时不同的构建配置(如 Debug 和 Release)会有各自的子目录。
posted @ 2024-07-08 21:50  Undefined443  阅读(10)  评论(0编辑  收藏  举报