我是c语言的初学者,我想知道是否有一种方法可以像python一样制作包,例如:
.
├── main.py
└── pkg
├── file1.py
├── file2.py
└── __init__.py
这在 c 中看起来怎么样?
我会想象这样的事情:
.
├── main.c
└── pkg
├── a.c
├── a.h
├── b.c
└── b.h
是这样吗?如果是的话,那会如何运作?我该如何使用里面的东西?
C 中没有类似的东西,它不关心包。
当您想要分发“包”时,您可以将其构建为库,提供头文件和预编译库(静态或动态,每个操作系统和体系结构,有时每个编译器)
如果您想将一个大项目组织成包,只需按照您的布局进行即可 - 您的工具不会真正关心。您可以通过使用它的位置的相对路径包含此类“包”的标头。编译取决于您的工具链,但通常您有一个包含所有源的大项目。
正如 LittleFox 所解释的,包不可能 1:1 转换为 C。当然,您可以用 C 编写一个模块,导入其他模块(无论是否用 C 编写),并提供感觉像包的东西。
你可以导入os,它会为你提供os.path,你可以自己导入os.path。看起来像一个包裹?是的。是一个包裹吗?我不这么认为。