对于一个科学项目,我有一个模板化分析工具(模块 A),它使用一种统计测试(模块 B)。分析工具(模块 A)用于解决两种类型的问题(模块 C 和 D)。模块 C 和 D 定义了用于从不同文件类型进行序列化的函数。
所有模块(A、B、C 和 D)都使用通用实用程序(模块 E)。每个模块由几个文件组成。我真的很想组织模块,使每个模块都有自己的名称空间,因此源文件位于不同的目录中(即强调组织中的模块化)。
在每个文件中定义命名空间很简单。但我希望使用某种源代码树,其中每个模块的#include 文件将在其自己的命名空间中包含所有其他文件。
我不太确定组织这个的好方法。我应该每个模块只使用一个文件夹并使用相对路径#include 吗?每个模块是否应该有自己的 git 存储库,并编译成单个库文件,该文件位于指定的 UNIX 文件夹中(这需要真正安装才能运行项目)。
现在我正在使用 gcc-4.7、make 和 emacs。
您知道组织这些文件以实现模块化的方法吗?
请原谅我并建议是否有其他更适合此问题的 StackOverflow 附属机构。我的项目运行了,但它比它需要的要混乱得多!