Работа с Памятью
14 октября 2010 - Администратор
Рейтинг: 0
Голосов: 0
854 просмотра
Комментарии (0)
Нет комментариев. Ваш будет первым!
| ||||||||||||||||||
|
Функция | Описание |
---|---|
emalloc() | Заменяет malloc(). |
efree() | Заменяет free(). |
estrdup() | Заменяет strdup(). |
estrndup() | Заменяет strndup(). Быстрее, чем estrdup(), и безопасна в двоичном режиме/binary-safe. Это рекомендуемая функция, когда вы знаете длину строки до её дублирования. |
ecalloc() | Заменяет calloc(). |
erealloc() | Заменяет realloc(). |
emalloc(), estrdup(), estrndup(), ecalloc() и erealloc() выделяют внутреннюю память; efree() освобождает эти ранее выделенные блоки. Память, обрабатываемая функциями e*(), считается локальной относительно текущего процесса и разрушается после окончания работы скрипта, выполняемого этим процессом.
Предупреждение! |
---|
Для выделения резидентной памяти, которая сохраняется после окончания работы текущего скрипта, вы можете использовать malloc() и free(). Это нужно делать очень осторожно и только в сочетании запросом Zend API; иначе вы рискуете получить утечки памяти. |
Zend также предлагает thread-safe resource manager для улучшения встроенной
поддержки многопоточных Web-серверов. При этом требуется, чтобы вы выделяли
локальные структуры для всех ваших глобальных переменных, чтобы дать
возможность работать конкурирующим потокам.
Поскольку режим thread-safe Zend ещё не разработан окончательно, мы не можем
включить его рассмотрение в эту книгу.
| ||||||
|
Нет комментариев. Ваш будет первым!