Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 带模块系统的C_C++_C_Module - Fatal编程技术网

C++ 带模块系统的C

C++ 带模块系统的C,c++,c,module,C++,C,Module,在C语言的发展史上,有没有进行过添加模块系统的实验 我知道C++的提案没有达到最新的标准。我正在考虑一些更符合特定实现的东西,这些实现将模块系统添加为非标准特性 “模块系统”是指至少允许用户编写一个文件而不是一个.h/.c对。是一种带有模块系统的类似c++的语言。我不知道有哪个模块系统是为纯C设计的。是一个相关的实用程序。C的创建者确实在为其开发的语言(包括C的扩展)中探索了这些东西。签出。苹果是LLVM C++实现。< /P>一个文件写一对,以便将接口与实现分开。不需要一对,但这样就很难将两者

在C语言的发展史上,有没有进行过添加模块系统的实验

我知道C++的提案没有达到最新的标准。我正在考虑一些更符合特定实现的东西,这些实现将模块系统添加为非标准特性


“模块系统”是指至少允许用户编写一个文件而不是一个.h/.c对。

是一种带有模块系统的类似c++的语言。我不知道有哪个模块系统是为纯C设计的。

是一个相关的实用程序。

C的创建者确实在为其开发的语言(包括C的扩展)中探索了这些东西。签出。

苹果是LLVM C++实现。< /P>一个文件写一对,以便将接口与实现分开。不需要一对,但这样就很难将两者分开。也许您会对Pascal或Delphi感兴趣,因为它们的“单位”概念相反。FWIW,Delphi并没有将接口和实现分为两个文件。一个单元有一个可公开访问的接口部分,它只包含声明和一个对该单元私有的实现部分,其中包含实现。@Ignacio实现这一点还有其他方法。例如,接口可以由编译器自动生成。事实上,每一种现代编程语言都包含这种语言的某些版本,其中编译器非常乐意为程序员进行分离。Vala是另一种带有模块的语言。有趣的是,当前的实现将Vala代码转换为C。每个Vala库都是有效的C库。