c中模块的概念

ash*_*ony 3 c

我正在通过cline进行C++ FAQ.它讨论了C++类如何比"C风格模块"更好.可以参考这里的文字.

但它没有讨论"C模块"究竟是什么.我在网上看了一些文字,但没有一个涉及这个主题.

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

小智 7

C没有模块的概念,因此.它具有"翻译单元"的概念,它(大致)是.c文件加上它包含的标题的内容,直接或间接.翻译单元独立编译,然后链接在一起成为可执行程序.

翻译单元提供了一些命名空间管理:您可以将函数和变量的名称定义为static,以便它们仅在翻译单元内可见.这比C++类更有帮助,因为名称冲突更容易避免.

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