2011-07-31 62 views
4

在C语言的历史中,是否有添加模块系统的实验?C与模块系统

我知道C++提案没有制定最新标准。我正在考虑更多沿着特定实现的东西,这些实现将模块系统添加为非标准功能。

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

+5

一个写一对文件,以便从实现中分离接口。没有必要配对,但后来更难将两者分开。也许你会有兴趣看着帕斯卡尔或德尔福,用他们的“单位”的概念来代替。 –

+1

FWIW,Delphi不会将接口和实现分离为两个文件。一个单元有一个可公开访问的接口部分,只包含声明和一个对该单元是私有的实现部分,其中包含实现。 –

+2

@Ignacio还有其他方法可以实现这一点。例如,接口可以由编译器自动生成。实际上,每种现代编程语言都包含这种编程语言的一些版本,编译器非常乐意为编程人员进行分离。 –

回答

3

D programming language是一个带有模块系统的C++语言。我不知道任何为普通C设计的模块系统。

+1

Vala是带模块的另一种语言。有趣的是,当前的实现将Vala代码翻译为C.每个Vala库都是一个有效的C库。 – dharmatech

2

C的创造者的确在用Plan 9开发的语言(包括C的扩展)中探索这些东西。检查出Limbo