请看看这段代码,在我的机器,它不会引发错误,但我不明白为什么我可以复制比的VirtualAlloc分配更多的字节,这是操作安全吗?怎么样CopyMemory的复制比的VirtualAlloc多个字节分配
PBYTE pNewBuffer = (PBYTE) VirtualAlloc(NULL,3,MEM_COMMIT,PAGE_READWRITE);
BYTE FlagThree[] = {'a', 'b', 'c', 'd','e','f','g'};
CopyMemory(pNewBuffer,FlagThree,sizeof(FlagThree));
我分配3个字节,但复制到内存7个字节。
编号未定义的行为。 –
你是什么意思“是否安全”?你问是否保证不会崩溃? –
是的,测试后,似乎没有崩溃,但我不知道这个语句是否允许,VirtualAlloc的第二个参数的含义是这样说的:我可以使用这个参数的任何数字? – yangl