24

MonoのPlatformInvoke実装の現在の状況はどうなっていますか?LinuxSolaris

4

1 に答える 1

29

動作し、使用可能で、安定しています。非常に多くのmono独自の低レベル機能を、基盤となるオペレーティングシステムにマーシャリングする必要があるため、十分にテストされています。

Microsoft .Netの実装と比較すると、いくつかのP / Invoke拡張機能があります(結局のところ、それらは単一のOSファミリと最大で3つのアーキテクチャを処理します)。それらの中で最も注目に値するのは、ライブラリマッピングがライブラリ名をOS固有のバリアントに変換し(たとえば、Linux、 OS Xなどでmylib.dllの検索)、他のさまざまなシステム固有の規則を考慮に入れることです。デフォルトの名前変換では不十分な場合に使用できるDLLMap構成拡張機能もあります。通常、バイナリライブラリの同じAPIを異なるOSで公開すると便利です。そのため、プラットフォーム間での移行には、.Net部分ではなく、Cコードの変更のみが必要です。mylib.somylib.dylib

于 2008-08-30T10:45:40.393 に答える