P / Invoke in Mono

Mono在Linux上的平台调用实现的现状是什么? 在Solaris上?

工作,可用,稳定。 这是经过充分测试的,因为必须将相当多的mono自己的低级功能整理到底层操作系统中。

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