Mono 中的 P/Invoke

发布于 2024-07-04 18:02:23 字数 180 浏览 7 评论 0 原文

Mono当前状态是什么>LinuxSolaris 上?

What's the current status of Mono's Platform Invoke implementation on Linux and on Solaris?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤星 2024-07-11 18:02:24

工作、可用且稳定。 它经过了充分的测试,因为相当多的 mono 自己的低级功能必须通过它编组到底层操作系统。

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

Working, usable and stable. It's well tested since quite a lot of mono's own low-level functionality has to be marshaled through it to the underlying operating system.

There are some P/Invoke extensions when compared to Microsoft .Net implementation (after all they deal with a single OS family and three architectures at most). Most notable of those would be that library mappings transform the library name to OS-specific variants (e.g. mylib.dll searches for mylib.so on Linux, mylib.dylib on OS X and so on) and take into account various other system specific conventions. There is also a DLLMap configuration extension which can be used if the default name translations are not enough. Usually it's convenient to have the same API of the binary lib exposed on different OSes, so that migrating between platforms only requires changes in the C code, not the .Net part.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文