经验分享 EOS 中配置项加载过程

yiyanwannian · September 22, 2019 · 229 hits

EOS有很多配置项处理的代码,nodeos中使用boost::program_options库来进行配置项的读取,cleos中采用的自己定义的一套方案,本文讲向您展示nodeos中配置项的加载过程。

boost::program_options配置项过程

options_description parser("name_your_like");
//                    "命令名" ,       "参数说明" ,       "命令说明"
parser.add_options()("your-cmd-name" ,value<string>(), "set a string parameter");

variables_map variablesMap;
// argc 就是参数个数 , argv 就是参数列表指针, 即int main( int argc, char** argv )
store(parse_command_line(argc, argv, desc), variablesMap);
notify(variablesMap);

//读取
if (variablesMap.count("your-cmd-name")) {
    cout << variablesMap["your-cmd-name"].as<float>()  << "\n";
}

EOS中命令行的处理过程

  • 在 application::set_program_options() 中:

  • 在 application::initialize_impl(int argc, char** argv, vector autostart_plugins) 中:

No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up