具有直接C兼容性的语言

pht*_*ier 3 c c++

除了C++之外,哪些非玩具语言与C 具有直接或易于使用的兼容性? 就像在"我可以在那里使用一个C库,并编译我的代码而不必查找,编写或配置某种包装器."

我知道很多语言通过某种形式的外部调用或绑定与C兼容(我一直在Java,Ruby,Python等中使用绑定,所以我知道它可以完成).但是你依赖某人(可能是你)来编写和维护你想要使用的所有库的绑定,并且绑定必须适用于所有平台,等等.

比C++更具表现力的语言有这个功能吗?

感谢所有人提到swig或相关的包装生成工具.我知道那些存在,但我不认为它们真的像C-> C++集成一样容易......但是然后与C集成可能是C++中唯一更容易的东西;))

Chr*_*oph 12

Objective-C,C和Smalltalk的私生子.

Objective-C是C的直接超集(你不能比它更兼容),但有些语言可以编译为C.最近的例子是ValaLisaac.

大多数静态编译的语言允许与C库进行交互.此类语言的示例有Ada,Fortran,Pascal和D.详细信息是平台和编译器特定的; 对于x86,这基本上意味着支持cdecl调用约定.


Ada*_*eld 6

d语言是用C ABI兼容.但是,将C头文件转换为兼容的D模块有时并非易事.有关详细信息,请参阅此页面.