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

一个网站主页开发费用建设网站远达

一个网站主页开发费用,建设网站远达,wordpress 表单 ajax,网站推广技巧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/548809.html

相关文章:

  • 外国电商设计网站有哪些简单的app开发案例
  • 网站工程师平均工资移动互联网开发实验报告
  • 网站怎么制作商城北京装修公司排名十强
  • 周口网站建设73data公司名称注册规则
  • 网站收录怎么做仿站网站开发
  • 网站的销售怎么做建设工程施工合同范文
  • 商城网站入驻系统大连工程信息网
  • 河南企业网站优化四川省建设厅注册管理中心网站首页
  • 模板网站搭建游戏开发代码
  • 新手怎么学习网站建设做网站1008做网站 - 百度
  • 织梦网站搬迁网站开发架设
  • 沈阳网站制作机构上海vi设计公司有哪些
  • 有没有专门做平铺素材的网站长沙h5手机网站制作
  • 宁波cms模板建站做网站 橙色怎么搭配
  • 重庆建站费用上海网站设计培训班
  • 国外哪些做问卷赚钱的网站建设项目所在地公共媒体网站
  • 公司网站应达到的功能关键词的选取原则有
  • html 网站首页陕西省建设监理协会网站
  • 中小网站建设都有哪些方案天元建设集团有限公司是国企还是央企
  • 济南想做网站如何自己搭建一个物联网平台
  • 太原网站建设推广服务广州越秀区风险等级
  • 江门网站制作推广广告公司取名字大全免费查询
  • 博物建设公司网站江门网站排名优化
  • 成都建站费用做网站多少
  • 房产网站设计公司wordpress指定ip登陆
  • 网站建设主页济南建站
  • 实力网站建设电话网站建设丨找王科杰效果好
  • 电商网站建设前的市场分析内容如何代做网站
  • 网站空间要多大长沙影楼网站建设
  • 烟台网站推广ppt模板免费下载百度云