我正在通过cline进行C ++ FAQ。它讨论了C ++类如何比“C风格模块”更好。可以参考文本here。
但它没有讨论“C模块”究竟是什么。我在网上阅读了一些文章,但没有一篇涉及这个主题。
任何人都可以进一步解释这些概念吗?
答案 0 :(得分:7)
C没有模块的概念,因此。它具有“翻译单元”的概念,它(大致)是.c
文件加上它包含的标题的内容,直接或间接。翻译单元独立编译,然后链接在一起成为可执行程序。
翻译单元提供了一些命名空间管理:您可以将函数和变量的名称定义为static
,这样它们只能在翻译单元中显示。这比C ++类更有帮助,因为名称冲突更容易避免。
看看像Python这样的语言,以获得更好的解决方案。