Здравствуйте, Ребята.
У меня такая проблема..... Пишу программу, в которой реализуется сделаный мною менеджер кучи. Создаю кучу размером 100, а пытаюсь выделить память размером 500*sizeof(int). Но HeapAlloc не возвращает NULL, а выделяет память. В чём дело ? Вот листинг проги.
#include<stdio.h>
#include<windows.h>
#include<malloc.h>
void* operator new(size_t size,HANDLE k)
{
puts("Run");
void *p;
if(k==NULL)
{
k=HeapCreate(0,0,100);
}
if((p=HeapAlloc(k,HEAP_ZERO_MEMORY,size))!=NULL)
{
puts("Pamyat videlena");
printf("%d\n",HeapSize(k,0,p));
return (p);
}
else
{
puts("Memory not run");
return NULL;
}
}
void main()
{
int n;
HANDLE k=NULL;
n=0;
int *x;
x=(int*)operator new(500*sizeof(int),k);
}
помоги, плз.
заранее спасибо.
18.12.06 12:37: Перенесено модератором из 'Коллеги, улыбнитесь'. И добавлено форматирование. — Кодт