挖井

类库大魔王的挖井日记

挖一口属于自己的井


配置功能W.I.P.

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

本文地址:

https://minidump.info/blog/2010/05/e9-85-8d-e7-bd-ae-e5-8a-9f-e8-83-bdw-i-p/

上一篇

准备实现配置功能

  今天粗略考察了一下Code::Blocks/CodeLite/notepad++的配置功能,发现需要做不少工作。  和外部工具特性一样,配置功能也需要一个用户界面,但这用户界面却更复杂,因为配置选项有各种不同的应用场景。总体上看来,我比较喜欢Code::Blocks的那种配置对话框,最上边...…

CodingStudio wxWidgets 全文阅读
下一篇

重复发明了个不咋样的轮子

  今天看到推友@liancheng说Mozilla/WPF/QT/GNOME3都同质化了,大体的意思是指这几种方案都把表现层和逻辑层分离得很独立,复杂的,高度重用的,平台相关的部分,用C/C++之类的语言实现成组件,表现层用XML描述界面,用CSS之类的样式描述skin,再用如JS之类的脚本...…

Plugin Framework wxWidgets 全文阅读