C 中的等效 python 包

问题描述 投票:0回答:2

我是c语言的初学者,我想知道是否有一种方法可以像python一样制作包,例如:

.
├── main.py
└── pkg
    ├── file1.py
    ├── file2.py
    └── __init__.py

这在 c 中看起来怎么样?

我会想象这样的事情:

.
├── main.c
└── pkg
    ├── a.c
    ├── a.h
    ├── b.c
    └── b.h

是这样吗?如果是的话,那会如何运作?我该如何使用里面的东西?

c package directory-structure
2个回答
0
投票

C 中没有类似的东西,它不关心包。

当您想要分发“包”时,您可以将其构建为库,提供头文件和预编译库(静态或动态,每个操作系统和体系结构,有时每个编译器)

如果您想将一个大项目组织成包,只需按照您的布局进行即可 - 您的工具不会真正关心。您可以通过使用它的位置的相对路径包含此类“包”的标头。编译取决于您的工具链,但通常您有一个包含所有源的大项目。


0
投票

正如 LittleFox 所解释的,包不可能 1:1 转换为 C。当然,您可以用 C 编写一个模块,导入其他模块(无论是否用 C 编写),并提供感觉像包的东西。

你可以导入os,它会为你提供os.path,你可以自己导入os.path。看起来像一个包裹?是的。是一个包裹吗?我不这么认为。

© www.soinside.com 2019 - 2024. All rights reserved.