我想编写一个可从C代码中动态加载并调用的库,但我真的不想用C语言编写它--这段代码非常重要,因此我需要一种语言使得更容易确保我的代码是正确的。 我有哪些选择?
更具体地说,我希望C程序员能够 #include
这个库,并且 -l
那个库,就像我用C语言编写了这个库一样。 我希望其他语言的程序员可以使用他们喜欢的链接工具来链接到这个库。理想情况下,我希望在支持C的每个平台上都能够实现,但我将满足于Linux、Windows和MacOS。
任何编译成本地代码的语言。您可以在Google上搜索“编译为本地代码的语言”。例如,请参见编译成本地代码并包含电池的编程语言。
C ++通常是这种情况下的选择。编译成本地代码,并且只要保持接口简单,就可以轻松编写适配器层。
Objective C和Fortran也是可能的选择。
try/catch(exc) { return 1; }
的层。非常简单。 - djechlinvoid*
… 我也经历过这些。但当问题归结为“我能行吗?”时,嘿,当然可以。 - user405725ATS的依赖类型和线性类型系统有助于产生关于代码的静态保证,包括资源管理安全的各个方面。ATS是一种静态类型的编程语言,将实现与正式规范统一起来。它配备了一个高度表达性的类型系统,其根基在于 Applied Type System 框架,这也给了该语言名称。特别地,ATS中同时支持依赖类型和线性类型。ATS的当前实现(ATS/Anairiats)是用ATS本身编写的。它可以像C/C ++一样高效(具体证据请参见 The Computer Language Benchmarks Game ),并支持各种编程范例。
你可以用Java编写一个库。JNI通常用于从Java调用C,但也可以反过来使用。