除了 C++, 哪些非玩具语言与 C 有直接或易于使用的兼容性? 就像“我可以拿出一个 C 库,然后针对它编译我的代码,而无需查找、编写或配置某种包装器。”
我知道很多语言都通过某种形式的外部调用或绑定(bind) 与 C 兼容(我一直在 Java、Ruby、Python 等中使用绑定(bind),所以我知道可以做到)。但是您依赖某人(可能是您)为您要使用的所有库编写和维护绑定(bind),并且该绑定(bind)必须适用于所有平台等。
比 C++ 更有表现力的语言有这个功能吗?
感谢大家提到 swig 或相关的包装器生成工具。
我知道那些存在,但我不认为它们真的像 C->C++ 集成那么简单......但是与 C 集成可能是唯一在 C++ 中更容易的事情;))
最佳答案
Objective-C,C 和 Smalltalk 的私生子。
Objective-C 是 C 的直接超集(没有比这更兼容的了),但是有些语言可以编译为 C。最近的一些例子是 Vala 和 Lisaac 。
大多数静态编译语言允许与 C 库交互。此类语言的示例包括 Ada、Fortran、Pascal 和 D。详细信息取决于平台和编译器;对于 x86,这基本上意味着支持 cdecl 调用约定。
关于c++ - 与 C 直接兼容的语言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1991939/