6

次のようにWindowsプラットフォームで共有メモリアレイを作成しているかどうかだけ知りたいです。

HANDLE hFile = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE | SEC_COMMIT, 0, 1024 * 4, _T("mySharedMemName"));
if(hFile)
{
    VOID* pData = MapViewOfFile(hFile, FILE_MAP_ALL_ACCESS, 0, 0, 1024 * 4);

    //Is 'pData' array initialized with zeros the first time the 'hFile' is used?
}

このコードスニペットを初めて呼び出すとき、メモリ配列は0で初期化されますか?いいえの場合、ゼロ初期化するにはどうすればよいですか?

4

1 に答える 1

8

ドキュメントから:

オペレーティングシステムのページングファイルに基づくファイルマッピングオブジェクトのページの初期コンテンツは0(ゼロ)です。

于 2012-06-17T00:28:51.027 に答える