如何组织C++项目

pax*_*paz 14 c++ directory tree project-structure

我想知道在组织项目时C++的最佳实践是什么.我已经读过我应该将所有源文件(.cpp)放在src文件夹中,并且头文件(.h)应该放在include文件夹中.这是应该的方式,还是应该将我的头文件放在源文件夹中?

这是我的文件夹树结构

- Project
|
+--- src (.cpp)
|
+--- include (.h) ????
|
+--- test (cpp unit test)
|
+--- doc (docs)
Run Code Online (Sandbox Code Playgroud)

Alo*_*ave 8

这是一个偏好的问题,但代码库的组织有助于可维护性以及轻松理解代码.应该尽可能采用模块化方法.您的代码组织看起来几乎是正确的,理想情况下我会:

- Project
|
+--- src (.cpp)
|
+--- include (.h) ????
|
+--- test (cpp unit test)
|
+--- doc (docs)
|
+--- bin (generated binaries)
|
+--- lib (external dependencies)
Run Code Online (Sandbox Code Playgroud)


Luc*_*ore 8

头文件(.h)应放在include文件夹中.

不是所有的人.只有那些在公共领域的人.如果a class或函数特定于模块,则它应该在该模块内.include文件夹应包含可由任何其他模块包含的标头.

您可能还想添加:

  • bin - 保留你的图书馆
  • lib - 同样的
  • exe- 在这里生成可执行文件(可选,也可以bin)
  • etc - 配置文件