深入剖析NS2的框架代码.doc

深入剖析NS2的框架代码.doc

ID:62281455

大小:35.50 KB

页数:25页

时间:2021-04-25

深入剖析NS2的框架代码.doc_第1页
深入剖析NS2的框架代码.doc_第2页
深入剖析NS2的框架代码.doc_第3页
深入剖析NS2的框架代码.doc_第4页
深入剖析NS2的框架代码.doc_第5页
资源描述:

《深入剖析NS2的框架代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.....................最新资料整理推荐.....................1.  NS2的主函数main位于tclAppInit.cc文件中 int main(intargc,char**argv) {    Tcl_Main(argc,argv,Tcl_AppInit);    return0;          /*Neededonlytopreventcompilerwarning.*/ } 从这个main函数中我们可以看到:整个NS2的框架其实完全包含在TCL_Main函数中。 2.Tcl_Main函数位于/g

2、eneric/TclMain.c文件中,这个函数的代码如下:(可能比较长)  void Tcl_Main(argc,argv,appInitProc)    intargc;          /*Numberofarguments.*/    char**argv;       /*Arrayofargumentstrings.*/25.....................最新资料整理推荐.....................    Tcl_AppInitProc*appInitProc;             /*Applica

3、tion-specificinitialization             *proceduretocallaftermost             *initializationbutbeforestartingto             *executecommands.*/ {    Tcl_Obj*resultPtr,*argvPtr,*commandPtr=NULL;    PromptTypeprompt=PROMPT_START;    intcode,length,tty,exitCode=0;    Tcl_Chann

4、elinChannel,outChannel,errChannel;    Tcl_Interp*interp;    Tcl_DStringappName;    Tcl_Obj*objPtr;    Tcl_FindExecutable(argv[0]); //寻找可执行文件ns?作用未知,参数的值为可执行文件ns对应的路径 25.....................最新资料整理推荐.....................   interp=Tcl_CreateInterp(); //创建OTCL解释器    Tcl_InitMe

5、mory(interp); //配置解释器    /*     *Makecommand-lineargumentsavailableintheTclvariables"argc"     *and"argv".Ifthefirstargumentdoesn'tstartwitha"-"then     *stripitoffanduseitasthenameofascriptfiletoprocess.     */    if(TclGetStartupScriptPath()==NULL){    if((argc>1)&&(argv

6、[1][0]!='-')){       TclSetStartupScriptFileName(argv[1]);       argc--;       argv++;    }    25.....................最新资料整理推荐.....................}    if(TclGetStartupScriptPath()==NULL){    Tcl_ExternalToUtfDString(NULL,argv[0],-1,&appName);    }else{    TclSetStartupScri

7、ptFileName(Tcl_ExternalToUtfDString(NULL,       TclGetStartupScriptFileName(),-1,&appName));    }    Tcl_SetVar(interp,"argv0",Tcl_DStringValue(&appName),TCL_GLOBAL_ONLY);    Tcl_DStringFree(&appName);    argc--;    argv++;    objPtr=Tcl_NewIntObj(argc);    Tcl_IncrRefCount

8、(objPtr);    Tcl_SetVar2Ex(interp,"argc",NULL,objPtr,25....................

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。