找到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程序關閉
