我可以用C语言编写C语言库吗?

Pau*_*ley 12 c dll

我想编写一个可以从C代码动态加载和调用的库,但我真的不想用C编写它 - 代码是安全关键的,所以我想要一种语言,让我更容易对我的代码有信心是正确的.我有什么选择?

更具体地说,我希望C程序员能够做到#include-l一点,然后开始使用我的库,就像我用C语言编写它一样.我希望其他语言的程序员能够使用他们喜欢的工具链接到C库以链接到它.理想情况下,我希望在支持C的每个平台上都能实现这一点,但我会选择Linux,Windows和MacOS.

dje*_*lin 5

任何编译为本机代码的东西.所以你可能会谷歌 - "编译成本机代码的语言." 参见,例如,编译为本机代码并包含电池的编程语言

C++通常是这个的选择.编译为本机代码,并为您提供简单易用的接口,以便轻松编写适配器层.

Objective C和Fortran也是可能的.

  • 我不认为C++是C库的不错选择.一点也不. (5认同)
  • @djechlin:是的,请告诉我.我想看到你很高兴将几百个类及其关系包装成一个漂亮的C API,然后进行try-catch(顺便说一下,有一些"外来"异常,你不能在C++代码中压制它们).处理指向不符合`void*`的成员的指针,因为超酷的"这个"指针调整...去过那里,做到了.但当然,当问题归结为"我可以吗?"时,嘿,当然可以. (5认同)
  • @VladLazarenko它并没有打败C++的全部观点,但无论如何.适配器层是`try/catch(exc){return 1; }层.非常简单. (3认同)
  • 实际上,如果他真的想要,他可以使用更多的语言,例如使用Python的C API作为包装器(并且包括他自己的必要库),他可以使用Python. (2认同)

Pau*_*ley -1

这个问题终于有了一个不错的答案:Rust