Я пишу расширение C, которое должно выделять глобальный массив при инициализации модуля (этот массив не меняется и актуален для каждого запроса). Я читал об управлении памятью расширений php c, но в большинстве источников не упоминается объявление переменных в стеке.
Это все еще допустимый подход, или более вероятно, что произойдет утечка, и в этом случае я должен предпочесть пемаллок и т. Д.?
Пример кода для иллюстрации вопроса:
В моем заголовке:
ZEND_BEGIN_MODULE_GLOBALS(myExtension)
long long myArray[ARRAY_SIZE];
ZEND_END_MODULE_GLOBALS(myExtension)
И в реализации:
PHP_MINIT_FUNCTION(myExtension) {
fillUpMyArray();
return SUCCESS;
}
Спасибо,
Алекс