![](http://blog.csdn.net/Emoticons/wink_smile.gif)
Libtask目录
原代码按照先来后到的原则对任务进行排序,从而建立了任务的队列。任务队列的主程序为:
taskcreate(mainjumper, &argc, 8192);
schedinit();
其中mainjumper是一个静态的方法,调用了函数taskmain(p[0], (char**)p[1])。
流程为:taskcreateà tinitstackà tosàtaskàsched
通过gotolabel(&t->sched);的方法到指定的位置去运行上面所说的taskmain()函数。
p2psim目录
l main文件里面的
taskmain函数为程序的入口函数,以下介绍了程序的函数内容:srandom()对应于windows里面的伪随机函数为:srand和rand函数。解析后的参数是通过Arg传入Node对象里面。Singal系统调用为某个信号安装了新的信号处理函数。
parse_args函数解析了从taskmain函数传进去了的参数。该函数中getopt被用作解析命令行并检查是否合法。最后将文件的路径读进整个软件。
l Node 文件中的类继承了observered类
Node::parse函数里面erase、begin和insert都是关于vertor的函数
l
Parse文件只包含了一个函数vector<string> split(string line, string delims)。该函数返回由delims分割line后获得的多向量。string在windows环境下面成为了一个模板类basic_string,不过原来的方法很参数里面都有。在实际的使用过程中间,直接使用string应该也可以,因为有这样的定义: typedef basic_string<char> string;
l Topology文件关键是解析topology文件