用boost 的program opti…
来源:互联网 发布:canonmp288清零软件 编辑:程序博客网 时间:2024/06/06 07:16
简单提一下安装和编译:
1.下载boost的源码包
2.
./bootstrap.sh
sudo ./b2 install
3. 如果提示没有patchlevel.h
sudo apt-get install python-dev
4. 如果提示没有bzlib.h
sudo apt-get install libbz2-dev
5. 编译命令如下:
g++ -o first first.cpp -I /usr/local/include/boost -L/usr/local/lib/-lboos
注意为了更好的跨平台, 把-I 和 -L放在 -o first first.cpp 的后面。
然后进入正题,如何用boost 的program option(下文所写为PO)库读未知section的配置文件。
boost的PO在解析配置文件前需要先定义配置文件的描述options_description,例如
options_description config("Configuration");
config.add_options()
boost本身支持section和重名key。 例如:
[section1]
key1=v1
key2=v2
key2=v22
其实boost的PO把它看作
对于未知section的配置文件,我们需要在另一个配置文件中描述它。
例如
conf1:
sections=section1
sections=section2
conf2:
[section1]
key1=v1
[section2]
key1=v1
示例的配置文件如下:
proxy.conf:
# range config
partition_range = 1
partition_range = 2
partition_range = 3
# backend server config
rwserver = s-2-8
rdserver = a-2-9
rdserver = b-2-9
# config for detail config file
detail_conf = proxy_detail.conf
schemas=schema1
schemas=schema2
proxy_detail.conf:
[schema1]
name = s1
[schema2]
name = s2
示例代码如下:
- 用boost 的program opti…
- Ubuntu“ System Program…
- Program exited with code ****
- Program exited with code **** 2
- database program —— web library…
- ios didReceiveMemoryWarning 的用…
- Join语句的on 与 select xxx in…
- String 的 split …
- IDP Apple Develop Program 续费
- 用 photoshope cs5 的bridge 批量…
- 我们正在忘却的传统文化 …
- buildbot + bazaar + mysql的测试…
- 图论: 经典的邻接矩阵 + dijkstra …
- yarn上报错Cannot run program "py…
- 当 今 中 国 的 深 层 悲 剧(转载…
- Lesson 1 A Puma at large 逃遁的…
- 一个米农对 百度 与 谷歌 的评价 …
- em的错误 <转载>
- 重做主从复制(尽量减少对业务的影…
- 编译指令的顺序
- Linux 如何重置root密码
- 配置bzr 在push的时候 &…
- 写个支持多重名section和key的读取…
- 用boost 的program opti…
- 1461错误, mysql_stmt_prepa…
- mysql 主从复制对于事件event…
- Mysql innodb auto_incr…
- 通过cat 数据文件来合并 myisam表
- Innodb Architecture an…
- 黑马程序员——OC基础@property语法详解
- 关于图处理的数据库 和 工具
- lex 和 yacc 学习笔记1