Annotation of parser3/src/doc/memory.dox, revision 1.2
1.2 ! paf 1: /** @page Memory Memory: работа с памятью
! 2:
! 3: Parser при работе с памятью целиком полагается на сборку мусора. См. http://www.hpl.hp.com/personal/Hans_Boehm/gc
! 4:
! 5: Работа с памятью происходит так: все выделения происходят через pa_malloc pa_malloc_atomic, pa_realloc, pa_free,
! 6: А для C++ перегружены соответствующие new. Для выделения памяти в C++ стиле не для объектов необходимо указать, будет ли выделяемый блок хранить указатели,
! 7: или нет: new(UseGC) означает "будет". new(PointerFreeGC) означает "не будет".
! 8:
! 9: Для удобства выделения памяти для объектов имеется прародитель PA_Object,
! 10: реализующий свой new через pa_malloc, и предоставляющий обёртки для malloc/malloc_atomic/realloc/free.
! 11: Рекомендуется, где возможно, выделять память в стиле C++ [через new], исключение допустимо для случая,
! 12: когда необходимо использовать realloc: на многих платформах new меняет указатель, выделенный распределителем,
! 13: т.о. недопустимы new+realloc / realloc+delete.
! 14: */
E-mail: