我是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';
}
任何帮助将不胜感激。
答案 0 :(得分:0)
memcpy
或memmove
似乎都不适合手头的任务。
明显的选择是memset
,std::fill
,std::fill_n
或for
循环。
其中,memset
当且仅当您想要使用char
大小的项目填充内存时才有效。就个人而言,我可能会使用std::fill_n
。