File:
[parser3project] /
parser3 /
src /
doc /
pooled.dox
Revision
1.4:
download - view:
text,
annotated -
select for diffs -
revision graph
Fri Dec 27 09:11:45 2002 UTC (23 years, 5 months ago) by
paf
Branches:
MAIN
CVS tags:
release_3_5_1,
release_3_5_0,
release_3_4_6,
release_3_4_5,
release_3_4_4,
release_3_4_3,
release_3_4_2,
release_3_4_1,
release_3_4_0,
release_3_3_0,
release_3_2_3,
release_3_2_2,
release_3_2_1,
release_3_2_0,
release_3_1_6,
release_3_1_5,
release_3_1_4,
release_3_1_3,
release_3_1_2,
release_3_1_1,
release_3_1_0,
release_3_0_8,
release_3_0_0007,
paf_left,
HEAD
removed outdated parts, made links to language docs
/** @page Pooled Pooled: работа с памятью
Работа с памятью происходит так: все выделения происходят через Pool::malloc и Pool::calloc,
для удобства имеется Pooled родитель, инкапсулирующий класс Pool, и имеющий одноимённые обёртки:
Pooled::malloc и Pooled::calloc, а также функцию Pooled::pool() для доступа к самому pool'у.
Когда освобождается память зависит от варианта сборки:
- Apache: делает это сам;
- CGI: вообще ничего не освобождает, смерть процесса всё списывает;
- ISAPI extension: освобождается в Pooled:~Pooled().
Все исключения в Parser имеют тип Exception, если возникает проблема,
следует бросить C++ исключение этого типа
@code
throw Exception("класс ошибки",
&method_name, // адрес String, содержащей текст/место ошибки
"проблема %d", error_code);
@endcode
"Класс ошибки" следует задать один из <a href="http://parser.ru/docs/lang/parserexceptions.htm">системных</a>,
придумать хороших свой, или не задавать вовсе.
*/
E-mail: