PureBasic

FreeMemory()

Синтаксис

FreeMemory(*MemoryID)

Описание


Освобождает память, ранее выделенную с помощью AllocateMemory() или ReAllocateMemory().

Параметры

*MemoryID Адрес области памяти, которую требуется освободить. Это должно быть значение, возвращённое функцией AllocateMemory() или ReAllocateMemory().

Возвращаемое значение

Ничего.

Комментарии

Если программа даёт сбой при этой команде, даже при том, что вводимое значение кажется корректным, это обычно является результатом повреждения данных в памяти программы в более раннее время, например при записи в память за пределами выделенной области памяти. Реальная причина такой ошибки может быть найдена с помощью средства отладчика Пурифаер.

При завершении программы все выделенные области памяти освобождаются автоматически.

Пример.

*MemoryID = AllocateMemory(5000)
If *MemoryID
    Debug "Адрес начала 5000-байтовой области памяти:"
    Debug *MemoryID
    PokeS(*MemoryID, "Поместим эту строку в область памяти")
    FreeMemory(*MemoryID) ; также было бы сделано автоматически по окончании программы
Else
    Debug "Не удалось выделить запрошенную память!"
EndIf

См. также

AllocateMemory(), ReAllocateMemory()

Поддерживаемые OS

Все

<- FillMemory() - Оглавление Memory - FreeStructure()->