Код: Выделить всё
mytype* myvar = malloc(sizeof(mytype));
Код: Выделить всё
mytype* myvar = apr_palloc(pool, sizeof(mytype));
Или вместо использования строк С - использовать apr_strings.
Это сильно по смыслу похоже на boost с С++, но только С.
Это не экзотика. Это очень неплохое решение: на этом промежуточном слое построены многие серьёзные крупнейшие проекты (соизмеримые по объёму с ядром Linux), и ориентированные на UNIX, например SIP телефонные станции: Asterisk, FreeSWITCH, ...
Вот ссылка на перевод на сайте IBM, для ознакомления: http://www.ibm.com/developerworks/ru/li ... -apache_8/
Там же ссылки на десяток более ранних русскоязычных публикаций этого автора по ARP.