0
virtualpointer=(char*) VirtualAlloc (NULL, (unsigned __int64) (1<<31), MEM_RESERVE, PAGE_READWRITE);
mainhashbuf=progression=virtualpointer;
VirtualAlloc (progression, (unsigned __int64) (1<<15), MEM_COMMIT, PAGE_READWRITE);
progression=progression+capacity;
*(mainhashbuf+1000)='c';
mainhashbuf,progress和virtualpointer是指向char的指针。我首先预留空间,虚拟指针指向那个空间。然后我设置其他2个指针等于虚拟指针。然后,我使用进度(现在也指向保留空间)提交该空间的那个空间,然后增加进度指针。然后我尝试在现在提交的空间中设置一个值,这个值应该指向mainhashbuf,但是我得到一个写入异常。我是否使用virtualalloc错误和/或对指针实际工作有错误的概念?virtualalloc问题
哈哈,你说得对,第一次使用virtualalloc的号码使用的数字太大了。其他一切都是正确的。我确认Virtualalloc在某个其他人的电脑上工作,但显然没有在我的电脑上工作。 – Jake 2011-05-05 03:31:45