在使用virtualAlloc保留和提交内存后写入内存

时间:2015-05-12 00:35:08

标签: c++

我是C ++的新手。我编写了一个c ++代码(Visual Basic c ++),它使用https://msdn.microsoft.com/en-us/library/windows/desktop/aa366803%28v=vs.85%29.aspx之后的虚拟alloc来保留和提交内存。 现在我的问题是我需要用一定的模式'a'来写整个页面。我应该用于循环或memcopy还是memmove? 我使用GetSystemInfo来获取页面大小,显然是4096.我该怎么做。我必须修改这个块吗?

for (i=0; i < PAGELIMIT*dwPageSize; i++)
{
    __try
    {
        // Write to memory.

        lpPtr[i] = 'a';
    }

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

memcpymemmove似乎都不适合手头的任务。

明显的选择是memsetstd::fillstd::fill_nfor循环。

其中,memset当且仅当您想要使用char大小的项目填充内存时才有效。就个人而言,我可能会使用std::fill_n