Difference between revisions of "SysFn64/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m
Line 14: Line 14:
 
''Замечания:''
 
''Замечания:''
  
:* Есть другой способ выделения/освобождения динамической памяти - подфункции 11, 12, 13 [[SysFn68/ru|функции 68]].
+
:* Есть другой способ выделения/освобождения динамической памяти - подфункции 12, 13 и 20 [[SysFn68/ru|функции 68]], но после их использования будет создана куча процесса и вызов функции 64 будет игнорироваться.
:* Функция не может использоваться совместно с 68.11, 68.12, 68.13. Вызов функции будет игнорироваться, если приложение создаст локальную кучу вызовом 68.11.
 
:* число в ecx, это вся доступная память приложения, включая кода и стека программой. Тоесть задавая число меньшее чем размер программой заданной в [[Writing applications for KolibriOS#The header|заголовке]], программа может сама себе освободить.
 
  
 
''Реализация:''
 
''Реализация:''

Revision as of 09:17, 19 May 2017

Функция 64 - перераспределить память приложения.

Параметры:

  • eax = 64 - номер функции
  • ebx = 1 - единственная подфункция
  • ecx = новый размер памяти

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

  • eax = 0 - успешно
  • eax = 1 - недостаточно памяти

Замечания:

  • Есть другой способ выделения/освобождения динамической памяти - подфункции 12, 13 и 20 функции 68, но после их использования будет создана куча процесса и вызов функции 64 будет игнорироваться.

Реализация: sys_resize_app_memory: (core/sys32.inc)

Константы для регистров:

eax - SF_MEMORY_RESIZE (64)