从头开始读skynet源码(1)main入口干了什么

       使用skynet一年半了。源码也断断续续读了不少,也看了几篇skynet的源码分析。他们都说的很好。但是觉得分析只是给你一个理解代码的观点,但是没个人的理解方式是不一样的,我也写一写我自己的理解。

       下面进入正题。

       首先,还是要有一个观念,skynet是干嘛的,云风前辈的Skynet 设计综述,wiki什么的都是要读的。然后进入正题。

       从我学习开始,我理解的一个C/C++程序都是从main函数开始运行的,skynet也不例外。以下的代码关键部分都带有注释。

skynet_main.c   

main函数其实就是,解析配置,做一些初始化,然后使用配置去调用启动函数。

int
main(int argc, char *argv[]) {
	const char * config_file = NULL ;
	if (argc > 1) {
		config_file = argv[1];
	} else {
		fprintf(stderr, "Need a config file. Please read skynet wiki : https://github.com/cloudwu/skynet/wiki/Config\n"
			"usage: skynet configfilename\n");
		return 1;
	}

	//这里做一些初始化
	luaS_initshr();
	skynet_globalinit();  //全局数据的一些初始化
	skynet_env_init();    //环境初始化

	sigign();

	struct skynet_config config;

	//打开一

你可能感兴趣的:(skynet,1024程序员节,后端)