我正在阅读 cline 的 C++ 常见问题解答。它讨论了 C++ 类如何优于“C 风格模块”。可以引用文here .
但它并没有讨论“C 模块”到底是什么。我在网上看了一些文章,但没有一篇涉及这个主题。
谁能进一步解释这些概念?
最佳答案
C 本身没有模块的概念。它具有“翻译单元”的概念,即(大致).c
文件加上它直接或间接包含的 header 的内容。翻译单元被独立编译,然后链接在一起成为一个可执行程序。
翻译单元提供了一点命名空间管理:您可以将函数和变量的名称定义为static
,这样它们只在翻译单元内可见。这比 C++ 类的帮助要小得多,在 C++ 类中更容易避免名称冲突。
看看像 Python 这样的语言,以获得更好的解决方案。
关于c中模块的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8769177/