我正在寻找一个具有非限制性许可证的跨平台C++轻量级配置库。 我需要比标准属性文件更复杂的东西,但我不想使用XML(写入太多:-))。
我希望以这种方式编写配置:
render =
{
window =
{
width = 800,
height = 600
}
}
我正在寻找一个具有非限制性许可证的跨平台C++轻量级配置库。 我需要比标准属性文件更复杂的东西,但我不想使用XML(写入太多:-))。
我希望以这种方式编写配置:
render =
{
window =
{
width = 800,
height = 600
}
}
boost有一个名为property_tree的库。该许可证允许商业使用。
您的示例:
ptree pt;
pt.put("render.window.width", 800);
pt.put("render.window.height", 600);
这可以例如导出为JSON格式
write_json("my_config.json", pt);
然后它将看起来像这样
{
"render":
{
"window":
{
"width": 800;
"height": 600;
}
}
}
你可以以相同的方式将其导出为XML、INI和INFO。
Json
格式。// Configuration options
{
// Default encoding for text
"encoding" : "UTF-8",
// Plug-ins loaded at start-up
"plug-ins" : [
"python",
"c++",
"ruby"
],
// Tab indent size
"indent" : { "length" : 3, "use_space": true }
}
这个软件是基于 MIT 许可证
的,因此非常宽容。