Mono在Linux上的平台调用实现的现状是什么? 在Solaris上?
工作,可用,稳定。 这是经过充分测试的,因为必须将相当多的mono自己的低级功能整理到底层操作系统中。
与Microsoft .Net实现相比,有一些P / Invoke扩展 (毕竟他们最多处理一个OS系列和三个体系结构)。 其中最值得注意的是库映射将库名称转换为操作系统特定的变体(例如, mylib.dll
在Linux上搜索mylib.so
,在OS X上搜索mylib.dylib
等),并考虑各种其他系统特定约定。 还有一个DLLMap配置扩展,如果默认名称翻译不够,可以使用它。 通常情况下,在不同的操作系统上使用相同的二进制文件的API是很方便的,所以平台之间的迁移只需要改变C代码,而不是.Net部分。