c中模块的概念

标签 c

我正在阅读 cline 的 C++ 常见问题解答。它讨论了 C++ 类如何优于“C 风格模块”。可以引用文here .

但它并没有讨论“C 模块”到底是什么。我在网上看了一些文章,但没有一篇涉及这个主题。

谁能进一步解释这些概念?

最佳答案

C 本身没有模块的概念。它具有“翻译单元”的概念,即(大致).c 文件加上它直接或间接包含的 header 的内容。翻译单元被独立编译,然后链接在一起成为一个可执行程序。

翻译单元提供了一点命名空间管理:您可以将函数和变量的名称定义为static,这样它们只在翻译单元内可见。这比 C++ 类的帮助要小得多,在 C++ 类中更容易避免名称冲突。

看看像 Python 这样的语言,以获得更好的解决方案。

关于c中模块的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8769177/

相关文章:

C 逻辑运算符查询

c - 如何设置字符串类型的结构成员

c - 如何为 Doxygen 指定函数搜索路径

c - C 语言中的一维自适应网格细化

C - 如何从一个字符串中提取不同的列?

c# - void** 的含义是什么?

c - LED 灯更亮而不是熄灭

c - 防止 gcc 内联函数

c - argv[0] 什么时候可以为空?

sql - Eclipse CPP 无法解析 PostgreSQL C 函数