我们的组织中有许多项目是Python/C混合的,目前我们正试图为我们的项目标准化一个目录布局,并试图想出一个方便的方案。争论的焦点之一是将C扩展模块放在树中的什么位置。
./src/package/subpackage/module.c
或者在包树中的python模块旁边:
./package/subpackage/module.c
或者在一个 src 子包中的目录:
src
./package/subpackage/src/module.c
将它们排除在包目录之外的一个原因可能是,这会导致混乱,特别是当存在其他.c和.h文件本身不是模块但仍需要编译时。同样在“集成”方案中,您如何处理多个模块使用的头和文件?把它们放在一个通用的顶层目录中?
我很想知道其他人在使用什么,或者是否有现成的最佳实践。
我认为Python标准库的布局是一个合理的例子:在 trunk ,它基本上是SVN repo(分支机构净值)的根 Modules 目录有很多 .c 和 .h Lib 目录很多 .py 文件夹。
Modules
.c
.h
Lib
.py