Современные
операционные системы не позволяют обращаться к любому участку оперативной
памяти. Это в частности вызвано многозадачностью системы, т. е. чтобы одна
программа, умышленно или по ошибке не могла исказить данные другой программы.
Для доступа к памяти, сначала нужно запросить у операционной системы
память, требуемого размера.
Для работы с памятью в
PureBasic есть ряд функций, описание которых можно найти в разделе Memory справки.
Итак, для того, чтобы
получить доступ к памяти, её сначала нужно "заказать" у операционной
системы, затем выполнить требуемые действия, после чего нужно обязательно
освободить память, что-бы избежать её "утечек". Под словом "утечка" имеется в
виду использование памяти программой, после того, как она становится не нужной
для дальнейших операций. Этого следует всячески избегать.
Вот пример работы с памятью.
*MemoryID = AllocateMemory(50) ;Запрашиваем у ОС 50 байт памяти If *MemoryID ;В цикле производится запись в память For i=0 To 9 PokeC(*MemoryID+i, i) Next i ;В цикле производится чтение из памяти For i=0 To 9 Debug PeekC(*MemoryID+i) Next i ;Запись строки в память PokeS(*MemoryID, "Работа с памятью") ;Чтение строки из памяти Debug PeekS(*MemoryID) FreeMemory(*MemoryID) ;Освобождаем память, т. к. она больше не нужна Else MessageRequester("", "Не удалось выделить память!") EndIf |
File.s=OpenFileRequester("","","Текстовые файлы
(txt)|*.txt",0) Repeat ;Главный
цикл программы |