Mono 中的 P/Invoke
题
目前状况如何 单核细胞增多症Linux 上的 Platform Invoke 实现?那么在 Solaris 上呢?
解决方案
工作、可用且稳定。它经过了充分的测试,因为相当多的 mono 自己的低级功能必须通过它编组到底层操作系统。
有一些 P/调用扩展 与 Microsoft .Net 实现相比(毕竟它们处理单个操作系统系列和最多三个架构)。其中最值得注意的是库映射将库名称转换为特定于操作系统的变体(例如 mylib.dll
搜索 mylib.so
在Linux上, mylib.dylib
在 OS X 等上)并考虑各种其他系统特定约定。还有一个 动态链接库映射 如果默认名称翻译不够,可以使用配置扩展。通常,在不同操作系统上公开相同的二进制库 API 会很方便,因此平台之间的迁移只需要更改 C 代码,而不需要更改 .Net 部分。
不隶属于 StackOverflow