配置功能W.I.P.
配置功能让我纠结了好些天,现在基本上思路是确定下来了,也已经做了一部分了。
首先想说的是出乎意料的事,当时总以为用XML存储内容会比sqlite3存储内容占用空间大,经过实际测试100KB左右的数据用XML占用空间反而更小,大概是因为用sqlite3的话还会有一些用于索引之类的数据。
接着发现用sqlite3中那种二维表格来存储我想要的那种数据格式不是很方便,还是用XML那种树形结构方便,而且XML可以在同一级层次存入不同含义的节点,这也增强了表达能力。
后来我还是决定有boost::property_tree来操作通用配置文件,结果发现这个官方文档已经过时了,不过好在有人在maillist中提到了,也给出可用的代码了,居然还有人说读库代码就知道用法了,囧。另外想说的是,在存为XML时,没有更多的控制选项吗,没有pretty print吗。这次我倒是没有直接为Lua封装成一个C库,而是直接在宿主程序中用luabind绑定了一个简单的配置文件读写类,省了不少事。
最后想说,这进展实在太慢了,到现在为止,才做完通用配置的读取。