here で説明されているように、memcmp
から関数をインポートすることにより、.Net の 2 つのバイト配列を比較する効率がよく知られています。msvcrt.dll
モノに同等のライブラリインポートはありますか? LinuxまたはWindowsでモノを実行する場合、異なる必要がありますか? または、モノでうまく機能する別の高速なバイト配列比較手法はありますか? C# で配列を反復処理するよりも優れたものを探しています。
アップデート
Matt Patenaude のコメントに基づいて、これはうまくいくと思います。
#if __MonoCS__
[DllImport("c", CallingConvention = CallingConvention.Cdecl)]
#else
[DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl)]
#endif
public static extern int memcmp(byte[] b1, byte[] b2, UIntPtr count);
しかし、私はまだ試していません。私は前に mono で p/invoke をしたことがありません。pinvoke.netで推奨されている署名を使用しています。これって両立するの?
モノに焦点を当てた答えを探しています。ありがとう。