idealvin / gitalk

comments for Alvin's blog
0 stars 0 forks source link

FAQ | Documents for Coost #126

Open idealvin opened 10 months ago

idealvin commented 10 months ago

https://coostdocs.github.io/cn/co/faq/

FAQ #如何修改配置项的值? flag 是 coost 提供的命令行参数与配置文件解析库。coost 中的日志、协程、网络等模块使用 flag 定义了一些配置项,用户可以通过命令行参数或配置文件修改配置项的值。命令行中的用法见命令行中使用 flag,配置文件的用法见配置文件。需要注意,修改配置项需要在 main 函数开头调用 flag::parse 解析命令行参数。

int main(int argc, char argv) { flag::parse(argc, argv); return 0; } 用户也可以通过 API flag::set_value 修改配置项的值: int main(int argc, char argv) { flag::set_value("co_sched_num", "2"); flag::set_value("version", "v3.1.4"); flag::parse(argc, argv); return 0; } flag::set_value 在 flag::parse 之前,这样用户仍然能够通过命令行参数、配置文件修改相关配置项的值。 #程序启动时如何指定配置文件? 用户使用 flag 定义配置项后,程序启动时可用如下方式指定配置文件: ./xx xx.conf # 此种情况,配置文件名需要以 .conf 或 config 结尾 ./xx -conf xx.conf # 此种情况,配置文件名没有上述限制 注意 main 函数开头需要调用 flag::parse 方法。另外,用户可以用 -mkconf 自动生成配置文件: