当前位置: 首页 > wzjs >正文

国外的一些网站百度百科合作模式

国外的一些网站,百度百科合作模式,武汉网站建设公司你,设计单位在厦门什么网站LIB-ZC, 一个跨平台(Linux)平台通用C/C扩展库,命令行参数和配置文件 本库 打通了命令行参数和配置文件.推荐但不强制使用 命令行 命令行参数, 风格/例子 ./cmd -name1 val1 arg1 -name2 val2 --bool1 --bool2 arg2 arg31个横杠 - 开始的是"参数名", 后面必须跟一…

LIB-ZC, 一个跨平台(Linux)平台通用C/C++扩展库,命令行参数和配置文件

  • 本库 打通了命令行参数和配置文件.
  • 推荐但不强制使用

命令行

命令行参数, 风格/例子

./cmd -name1 val1 arg1 -name2 val2 --bool1 --bool2 arg2 arg3
  • 1个横杠 - 开始的是"参数名", 后面必须跟一个"参数值"
  • 2个横杠 开始的是布尔型的参数, 后面没有"参数值", (逻辑上)值为真
  • 其他参数为普通参数

命令行方法

// 命名空间 zcc::main_argument// 默认全局配置
extern zcc::config var_main_config;struct option
{const char *key;const char *val;
};// main 函数入口的 argc
extern int var_argc;
// main 函数入口的 argv
extern char **var_argv;
// 命令行参数的 key/value 对
extern std::vector<option> var_options;
// 命令行的参数
extern std::vector<const char *> var_parameters;
// var_parameters.size()
extern int var_parameter_argc;
// (char **)(var_parameters.c_str())
extern char **var_parameter_argv;
// 解析命令行
void run(int argc, char **argv, bool cmd_mode = true);

执行逻辑

已知:
./cmd -name1 val1 arg1 -name2 val2 --bool1 --bool2 arg2 arg3
调用函数
zcc::main_argument::run(argc, argv);
有如下效果:

系统会初始化全局配置变量

var_argc = argc;
var_argv = argv;
progname = argv[0];

而且逻辑上:

// var_main_config
zcc::var_main_config[name1] = val1
zcc::var_main_config[name2] = val2
zcc::var_main_config[bool1] = "yes"
zcc::var_main_config[bool2] = "yes"// var_options
var_options = {{name1, val1}, {name2, val2}, {boo1, yes}, {bool2, yes}}// var_parameters
var_parameters = {arg1, arg2, arg3}
另外
  • 如果参数中出现(可以多组) -config somepath.cf, 那么会立即加载配置文件somepath.cf到 zcc::var_main_config
  • 遵循规则: 后加载的配置项覆盖先加载的配置项
  • 遵循规则: 命令行上的配置项覆盖配置文件中的配置项

配置

先看一个配置文件例子,内容如下

# 忽略空行# 行首第一个非空字符是#, 则忽略本行#
# 每配置行以 "=" 为分隔符
# 配置项和配置值都需要过滤掉两侧的空白
# 不支持任何转义
server-command = bin/milter
server-log = syslog,mail# 相同配置项, 以后一个为准
spamd_server = var/socket/spamd
spamd_server = var/socket/spamd222

config 类

// 线程, 读写不安全
// 线程, 只有读是安全的
class config : public std::map<std::string, std::string>
{
public:config();~config();config &reset();virtual inline void afterUpdate() {};config &update(const char *key, const char *val, int vlen = -1);config &update(const char *key, const std::string &val);config &update(const std::string &key, const std::string &val);config &remove(const char *key);config &remove(const std::string &key);// 从文件加载配置, 且覆盖bool load_from_file(const char *pathname);bool load_from_file(const std::string &pathname){return load_from_file(pathname.c_str());}// 从另一个配置复制config &load_another(config &another);config &debug_show();// 获取值std::string *get_value(const char *key);std::string *get_value(const std::string &key);const char *get_cstring(const char *key, const char *def_val = "");const char *get_cstring(const std::string &key, const char *def_val = "");std::string get_string(const char *key, const char *def_val = "");std::string get_string(const std::string &key, const char *def_val = "");const std::string &get_string(const std::string &key, const std::string &def_val);// 获取布尔值, y/Y/t/T/1 => true, n/N/f/F/0 => falsebool get_bool(const char *key, bool def_val = false);bool get_bool(const std::string &key, bool def_val = false);// atoiint get_int(const char *key, int def_val = 0);int get_int(const std::string &key, int def_val = 0);// atolint64_t get_long(const char *key, int64_t def_val = 0);int64_t get_long(const std::string &key, int64_t def_val = 0);// 获取时间秒值 1s, 1m, 1h, 1d, 1wint64_t get_second(const char *key, int64_t def_val = 0);int64_t get_second(const std::string &key, int64_t def_val = 0);// 获取大小字节 1b, 1k, 1m, 1gint64_t get_size(const char *key, int64_t def_val = 0);int64_t get_size(const std::string &key, int64_t def_val = 0);private:void *unused_;
};
http://www.dtcms.com/wzjs/609.html

相关文章:

  • 宝塔wordpress加速昆明seo
  • 政府网站建设的战略软文代发价格
  • 怎么做一个公众号广州软件系统开发seo推广
  • 广州广告网站建设企业网站营销
  • 义乌做网站哪家好100个免费推广网站
  • 红桥网站建设公司石家庄seo排名外包
  • 海口有哪几家是做网站的哪个杭州seo好
  • 新泰房产网58个人出售广州seo怎么做
  • 建网站 服务器需要安装 tomcat恢复原来的百度
  • 知识库wordpress插件惠州百度seo在哪
  • 云计算网站建设广州关键词快速排名
  • 网络服务合同需要缴纳印花税吗百度推广优化师培训
  • 老公给人做网站结果网站卖假货今日军事新闻头条视频
  • 天津网站建设咨询网站推广优化排名seo
  • 网站建设服务流程西安网站开发
  • 招聘网站制作公司免费建立网站
  • wordpress smzdm主题seo千享科技
  • 商务网站建设与运营seo优化技术教程
  • 国外教做蛋糕的网站安徽网站推广
  • 国际企业网站建设seo入门教程seo入门
  • 百度网页版浏览器网址seo排名app
  • 织梦做企业网站品牌宣传策划方案
  • 做网站 就百度竞价推广是什么
  • 专业网站策划公司网站制作出名的公司
  • javaee做视频网站seo基本步骤
  • 网站配色 原则汕头seo全网营销
  • 汽车网站建设论文关键词林俊杰百度云
  • 网站电线电话图怎么做热门关键词排名查询
  • 网站分级怎么做论坛发帖
  • php酒店网站源码关键词整站优化公司