Linux上Mono的Platform Invoke实现的当前状态是什么?在Solaris上?
答案 0 :(得分:29)
工作,可用和稳定。它经过了很好的测试,因为很多单声道自己的低级功能必须通过它编组到底层操作系统。
与Microsoft .Net实现相比,有一些P/Invoke extensions(毕竟它们最多只处理一个OS系列和三个体系结构)。最值得注意的是,库映射会将库名称转换为特定于操作系统的变体(例如,mylib.dll
在Linux上搜索mylib.so
,在OS X上搜索mylib.dylib
,等等帐户各种其他系统特定的约定。还有一个DLLMap配置扩展,如果默认名称转换不够,可以使用它。通常,在不同的操作系统上公开二进制库的相同API很方便,因此在平台之间迁移只需要更改C代码,而不是.Net部分。