找到main函数的入口在bitcoind.cpp文件下
int main(int argc, char* argv[]) { SetupEnvironment(); // Connect bitcoind signal handlers noui_connect(); return (AppInit(argc, argv) ? EXIT_SUCCESS : EXIT_FAILURE); }
初始化过程分析:
第一步:设置运行环境; 第二步:连接bitcoind信号处理对象; 第三步:应用程序初始化操作; 第四步:控制台命令传入参数解析; 第五步:解析后参数的处理; 第六步:初始化日志打印; 第七步:初始化参数设置; 第八步:初始化应用程序基本上下文环境; 第九步:应用程序参数设置; 第十步:应用程序完整性检查; 第十一步:应用程序运行主函数; 第十二部:循环等待关闭消息; 第十三步:程序关闭。
- 运行过程:
main主函数 -----> SetupEncironment设置运行环境 -----> noui_connect连接bitcoind信号处理对象 -----> AppInit初始化 ----->ParseParameters参数解析 ----->参数处理 -----> InitLogging初始化日志打印 ----->InitParameterInteraction初始化参数设置 -----> AppInitBasicSetup初始化基本上下文环境 -----> AppInitParameterInteraction应用程序参数设置 -----> AppInitSanityChecks应用程序完整性检查 ----->AppInitMain应用程序运行主函数 ----->WaitForShutdown循环等待关闭消息 -----> Shutdown程序关闭