Я не использовал бы XML для хранения объектов RSS. Программа чтения новостных лент делает постоянные обновления, поскольку она получает данные.
С XML, необходимо загрузить данные из файла сначала, проанализировать его, затем сохранить его для легкого поиска/извлечения/обновления. Походит на базу данных...
кроме того, что происходит если Ваши сбои приложения? при использовании XML какое состояние является данными в XML-файле по сравнению с данными в памяти. По крайней мере, с SQLite Вы получаете атомарность, таким образом, Вас уверяют, что Ваше приложение запустится с того же состояния как тогда, когда последняя запись базы данных была сделана.
Поскольку fastcgi ++ по-прежнему указан как «Статус разработки: 4-бета», я бы посоветовал перейти к официальной версии. Он существует уже много лет и имеет привязки для целого ряда языков. Лицензии между двумя, похоже, не имеют большого значения. Поместите некоторые измерения в свой код, и если производительность является проблемой, потратьте некоторое время на эксперименты с альтернативами.
C-версия FastCGI делает очень мало, и разработка на C ++ не такая уж большая проблема, поскольку она практически не влияет на ваш собственный код. Скорее всего, это просто цикл и переменная окружения.
Так что я бы посоветовал просто придерживаться официальной версии.
Просто имейте в виду одну вещь: она работает путем переопределения printf
! Так что, если вы используете cout
, это не сработает.
См. Также библиотеку Cgicc:
http://www.gnu.org/software/cgicc/
Библиотека выглядит зрелой (в настоящее время - версия 3.x) . Согласно документации, его можно использовать с FastCGI, передав специальный читатель (reader_function_t) конструктору класса Cgicc.
То, что вам, вероятно, нужно, спрятано в contrib
директории пакета Cgicc.
fcgi-test.cpp
- пример использования cgicc с FastCGI.
Путь к установленному fcgi-test.cpp
должен быть таким.
/usr/share/doc/libcgicc-doc/examples/contrib/fcgi-test.cpp