NS2 分裂机制及代码分析

1.关于NS2分裂机制的简短过程可以参看原博客网址:http://tph85666031.blog.163.com/blog/static/20746227201022781352681/

NS2启动后将生成所有xxxClass类,因为所有xxxClass类都是static的

xxxClass类的构造函数调用bind函数,bind函数调用otcl的register函数创建(不是实例化)otcl类

xxxClass类的构造函数同时为otcl创建create-shadow并挂接到c++的create-shadow函数

NS2接着解释tcl脚本语句

tcl脚本语句中的new将生成otcl对象(实例化一个otcl类),new将调用otcl的creat生成对象并执行对象的init过程函数,此过程函数将调用c++的create-shadow函数,c++的create-shadow成员函数将创建对应的c++类并创建otcl的cmd过程并挂接到c++的dispatchcmd上,这样otcl的过程就可以调用cmd并最终调用dispatch再调用command函数设置c++成员了。

以上加红部分为个人理解上需要注意的问题,

2.关于1简短过程中的NS2代码(大部分代码位于tcl-object.tcl文件中),可以参考如下博文网址

http://blog.chinaunix.net/uid-11572501-id-2868629.html

http://blog.csdn.net/icode0410/article/details/8713481 //该博文分析了proc new函数中的create调用

关于tcl语法的一点说明:

otcl中的register函数中出现的[split $className /]语句是将$className分割成数组,然后通过foreach遍历



你可能感兴趣的:(NS2)