これらのネイティブ ライブラリ メソッドを Mono で呼び出すにはどうすればよいですか?
p/invoke (プラットフォーム呼び出し) を使用して、任意の .NET 言語からネイティブ C コードを呼び出します。ネイティブ ライブラリを使用するには、(自分の前にそれを行った人を見つけるための) これらの宣言を記述する必要があります。@Marcelo がコメントしたように、多くの場合、ほとんどの C ライブラリに代わる、非常に優れた、はるかに使いやすい .NET の代替手段があります。
これは MonoTouch でも機能します。ただし、Apple iOS ではユーザー提供の動的ライブラリ ( OSX/iOS およびWindows) とのリンクが許可されていないため、静的ライブラリ ( .a
OSX では Windows など) を提供する必要があります。.lib
.dylib
.dll
Windows で開発している場合、Windows からコンパイルされた同じバイナリを使用できますか?
Windows で生成されたバイナリは、Windows 上の Mono で問題なく動作するはずです。Windows でも Microsoft .NET を使用できます。
OS X で開発している場合、Windows バイナリを使用できますか?
バイナリが .NET でコンパイルされたコードである場合は、はい- p/invoke 宣言が移植可能である限り (たとえば、32 ビット タイプと 64 ビット タイプ)。
バイナリがネイティブ コードの場合は、いいえ。Mono は Windows エミュレーターではないことに注意してください。.EXE または .DLL 内で CIL コードを実行しますが、ネイティブ Windows コードを実行したり、Windows ネイティブ API (Windows 外) へのアクセスを提供したりしません。