Я занимаюсь распределением памяти и управлением дисками с помощью C++. Я просто все работаю .. он просто выглядит и кажется слишком легким. Я не уверен, что мой указатель, мои ассигнования и освобождение от должности верны. Моя Total FreeSpace выглядит так, как будто она будет работать, но она выглядит слишком простой. Мне просто нужен чей-то опыт программирования. Когда я пытаюсь запустить этот код, он дает мне некоторую ошибку.C++ Memory Allocation/Deallocation & FreeSpace Ошибка ошибки
Пожалуйста, не добавляйте новую глобальную переменную.
const int MMSIZE = 60136;
char MM[MMIZE];
//** Initialize set up any data needed to manage the memory
void initializeMemory(void)
{
//**increments through the POOL_SIZE
for (int a = 0; a < MMSIZE; a++) {
MM[a] = 'NULL';
}
}
// return a pointer inside the memory
// If no chunk can accommodate aSize call onOutOfMemory()
void* allocate(int size)
{
//******NOT SURE*******
int *p = new int;
*p = 5;
return ((void*) 0);
}
// Free up a chunk previously allocated
void deallocate(void* mPointer)
{
//******NOT SURE*******
int *p = new int;
delete p;
p = 0;
p = new int(10);
}
//Scan the memory and return the total free space remaining
int remaining(void)
{
//******NOT SURE*******
int free = 0;
for (int a = 0; a < MMSIZE; a++)
{
if (MM[a] < MMSIZE)
{
free += a;
}
}
int free2 = free - MMSIZE;
return free2;
}
Почему, по-вашему, этот код делает что-нибудь полезное? – immibis
Я не думаю, что OP утверждает, что это похоже на то, что OP практикует и экспериментирует с распределением памяти. – rrauenza
Я не знаю, какой компилятор вы используете, но он не компилируется под g ++. 'MM [a] = 'NULL';' недействителен. Также не является 'char MM [MMIZE];'. Пожалуйста, отправьте код, который действительно компилируется. У вас также нет 'main()'. – rrauenza