1

元プログラマーが言ったように、私は流域の画像セグメンテーションを実装しようとしています:

c#またはc++を使用した流域

FilterGrayToGray.csコードも追加しようとしましたが、win32.memcpyのエラーが発生しました

エラーは次のように表示されます:「win32という名前はこのコンテキストには存在しません」

Win32.memcpyをMicrosoft.Win32.memcpyに変換すると、「memcpyは名前空間に存在しません」と表示されます。

4

1 に答える 1

2

memcpy.NETFrameworkの一部ではありませんmemcpy-ap/Invoke定義を作成する必要があるアンマネージネイティブAPIです。の定義memcpyは別のファイルにある必要があります。

以下の例を参照してください。

/// <summary>
/// Windows API functions and structures.
/// </summary>
internal static class Win32
{
    /// <summary>
    /// Copy a block of memory.
    /// </summary>
    ///
    /// <param name="dst">Destination pointer.</param>
    /// <param name="src">Source pointer.</param>
    /// <param name="count">Memory block's length to copy.</param>
    ///
    /// <returns>Return's the value of <b>dst</b> - pointer to destination.</returns>
    ///
    [DllImport( "ntdll.dll", CallingConvention = CallingConvention.Cdecl )]
    public static extern IntPtr memcpy(
        IntPtr dst,
        IntPtr src,
        UIntPtr count );
    }
}
于 2012-02-26T22:29:45.653 に答える