22
MonoのLinuxでのPlatform Invokeの実装の現在の状況は何ですか?そして、Solarisでは?P/Monoでの呼び出し
MonoのLinuxでのPlatform Invokeの実装の現在の状況は何ですか?そして、Solarisでは?P/Monoでの呼び出し
作業中、使用可能で安定しています。非常に多くのモノ自身の低レベル機能が基本オペレーティングシステムにマーシャリングされなければならないので、十分にテストされています。
P/Invoke extensionsは、Microsoftの.Net実装と比較すると(一部では、単一のOSファミリと3つのアーキテクチャを処理しているに過ぎません)。その中で最も顕著なのは、ライブラリのマッピングがライブラリ名をOS固有のバリアントに変換することです(Linuxではmylib.so
、Linuxではmylib.dylib
などを検索し、その他さまざまなシステム固有の規則を考慮します)。また、DLLMap構成拡張もあります。これは、デフォルトの名前変換では不十分な場合に使用できます。通常、バイナリlibの同じAPIを異なるOSに公開すると便利です。プラットフォーム間の移行には.NETの部分だけでなくCのコードを変更する必要があります。