d4s: (Default)
d4s ([personal profile] d4s) wrote2009-03-24 12:10 am
Entry tags:

конфиги

а вот кто что использует для работы с конфиг-файлами на C под линух ? сразу оговорю - xml слишком большой оверхед, хотя уже начал склоняться к его использованию ;-(

перебрав за вечер libmcs, libconfig и libconfuse, понял, что я шокирован.
libmcs - очень понравилась, простая, функциональная и... недоделанная. контрибутор клянется, что доделает некоторые недостатки, но....
libconfig - понравилась, проблема в формате конфига (хотя может его можно изменить ?) и куче дополнительных телодвижений, которых можно было бы избежать.

libconfuse всем хороша, но ситаксис подкачал (имхо). хотя именнно на ней и остановился пока для тестов.

ЗЫ а может действительно, махнуть рукой на plain config и юзать xml по каждому чиху ?

[identity profile] braindamagedme.livejournal.com 2009-03-24 12:03 am (UTC)(link)
я пользовал libconfig, вполне милая библиотечка. а что тебе не понравилось в форммате конфига?

[identity profile] d4s.livejournal.com 2009-03-24 07:53 am (UTC)(link)
";" в конце - свихнуться можно. есть опыт редактирования таких конфигов - очень сильно напрягает.
я потому и спросил - можно ли формат менять.

[identity profile] f1-mishutka.livejournal.com 2009-03-24 08:24 am (UTC)(link)
Я в димплом сам изобретал что-то конфиго-подобное. Там lex использовался. Как у руководителя, исходники должны были где-то остаться. Хотя вряд ли это интересно :)

[identity profile] angry-elf.livejournal.com 2009-03-24 08:37 am (UTC)(link)
А под классический синтаксис ini-файлов нету ничего?

XML в конфигах - сакс. Уж лучше json тогда. Нагляднее в разы.

[identity profile] pestilentia.livejournal.com 2009-03-24 07:44 pm (UTC)(link)
стопицот вариантов, хоть getopt-ом парси, хоть за3.14здячь свой на yacc/bison, regex или sscanf-ами - все зависит от твоих нужд. мне чаще всего приходилось быстро писать нечто свое согласно требованиям проектов, но confuse вообще согласен, хорошая штука.
конфиг можно хранить в распределенном oracle instance с мегарепликациями как ты выразился по каждому чиху и парсить sql-ем... как альтернатива xml :]