Diff for /parser3/src/doc/memory.dox between versions 1.2 and 1.2.10.1

version 1.2, 2003/07/24 11:31:20 version 1.2.10.1, 2004/03/29 07:25:53
Line 1 Line 1
 /**     @page Memory  Memory: работа с памятью  /**     @page Memory  Memory: work with memory
   
 Parser при работе с памятью целиком полагается на сборку мусора. См. http://www.hpl.hp.com/personal/Hans_Boehm/gc  Parser in it's work with memory relies on garbage collection. See  http://www.hpl.hp.com/personal/Hans_Boehm/gc
   
 Работа с памятью происходит так: все выделения происходят через pa_malloc pa_malloc_atomic, pa_realloc, pa_free,   Work with memory goes like this:
 А для C++ перегружены соответствующие new. Для выделения памяти в C++ стиле не для объектов необходимо указать, будет ли выделяемый блок хранить указатели,  all allocations are in the end get to  pa_malloc pa_malloc_atomic, pa_realloc, pa_free functions; 
 или нет: new(UseGC) означает "будет". new(PointerFreeGC) означает "не будет".  For C++ corresponding new operators are overloaded.
   To allocate a memory in C++ style not for objects one should specify,
   will the block to-be-allocated contain pointers,
   new(UseGC) when "it will". new(PointerFreeGC) when "it will not".
   
 Для удобства выделения памяти для объектов имеется прародитель PA_Object,   For convinient memory allocation for objects there is root class PA_Object, 
 реализующий свой new через pa_malloc, и предоставляющий обёртки для malloc/malloc_atomic/realloc/free.  overriding new operator, implementing it with pa_malloc, 
 Рекомендуется, где возможно, выделять память в стиле C++ [через new], исключение допустимо для случая,  and providing wrappers for malloc/malloc_atomic/realloc/free.
 когда необходимо использовать realloc: на многих платформах new меняет указатель, выделенный распределителем,   It is recommended, where it is possible, to allocate memory in C++ style [using new operator],
 т.о. недопустимы new+realloc / realloc+delete.  exception can be made for a case where realloc is needed:
   on many platforms new-operator changes the pointer, returned by new-operator-implementation allocator.
   that is new+realloc / realloc+delete are not allowed.
 */  */

Removed from v.1.2  
changed lines
  Added in v.1.2.10.1


E-mail: