【比特币源码分析】————2、SRC目录&初始化

比特币源代码获取

比特币源码下载地址:https://github.com/bitcoin

【比特币源码分析】————2、SRC目录&初始化_第1张图片

从上面我们可以看到比特币源代码是使用C++来写的,那么读者应当具备一定的C++源码阅读能力哦!

比特币源码结构分析

源码所处位置:

【比特币源码分析】————2、SRC目录&初始化_第2张图片

SRC目录内容:

【比特币源码分析】————2、SRC目录&初始化_第3张图片

SRC目录细节结构参照:

【比特币源码分析】————2、SRC目录&初始化_第4张图片

函数入口

在进入src目录后,我的第一要事就是找到初始化函数的具体位置。想到比特币源代码是C++写的,所以首当其冲的就是找到main函数,因为比特币源码编译完成后,其后台服务进程名为bitcoind,所以,我们猜想是否有bitcoind.cpp或类似名字的实现文件呢?经过查看,在src文件夹中果然发现了bitcoind.cpp,打开这个文件后,搜索main函数,在190行还真就搜到了main函数,函数中包含的有效代码只有3行,如下所示:

【比特币源码分析】————2、SRC目录&初始化_第5张图片

初始化过程

main函数的运行过程

【比特币源码分析】————2、SRC目录&初始化_第6张图片

具体初始化过程可以描述为下图流程:

 

 

 

【比特币源码分析】————2、SRC目录&初始化_第7张图片

具体运行过程为:

第一步:设置运行环境;

第二步:连接bitcoind信号处理对象;

第三步:应用程序初始化操作;

第四步:控制台命令传入参数解析;

第五步:解析后参数的处理;

第六步:初始化日志打印;

第七步:初始化参数设置;

第八步:初始化应用程序基本上下文环境;

第九步:应用程序参数设置;

第十步:应用程序完整性检查;

第十一步:应用程序运行主函数;

第十二部:循环等待关闭消息;

第十三步:程序关闭。

你可能感兴趣的:(【区块链】,————比特币源码研究分析)