我知道C和C ++可以轻松创建共享库,但是我想要对我有所帮助的东西。 D看起来很有前途,但是我发现它很难编写,特别是在没有良好的IDE支持的情况下(VS插件是迄今为止最好的,但仍然很有限)。 Kotlin也可能是一个选择,但是它缺少任何标准库来执行文件管理(例如重命名文件)之类的事情。
我正在寻找一种具有良好标准库的语言(最好是面向对象的语言),该库可以在Windows,macOS和Linux中创建共享库(.dll,.dylib,.so),然后可由支持以下语言的任何语言使用C外部函数(例如,具有ctypes的Python)。
有这样的东西吗?
答案 0 :(得分:1)
一种语言可以用来创建共享/动态库?
您可以使用任何compiled language来创建共享/动态库 或组合编译 编译为object files的语言,前提是所有 贡献编译器是ABI compatible。
这是因为创建共享库仅需linking
一些编译器事先生成的许多目标文件,
可能与其他共享/动态库一起,以一种指示链接器输出共享/动态库的方式(例如,使用-shared
GNU链接器的链接选项,或Microsoft链接器的/DLL
选项)。链接器不知道源语言或从中编译其输入的语言。
关于哪种编译语言您会感到最满意,我的意见或建议 会是题外话。