TCL解释器与C++代码交互过程?

 


上一主题 下一主题   可打印版本 | 订阅主题 | 收藏主题 | 开通个人空间  
   
标题: [讨论] TCL解释器与C++代码交互过程?
 
jacer
助理工程师




精华 0
积分 5
帖子 9
水位 15
技术分 0
状态 离线
TCL解释器与C++代码交互过程?





一直想弄明白tcl脚本与c++代码是通过什么来交互的!今天仔细阅读了NS手册,看了看第三章的OTCL连接部分,总结了一下,有一些问题不是很明白,请教大家。
      
        TCL解释器的接口在目录TCLCL中。
         TCLCL中定义了许多类,对于我们来说,主要研究以下6个类:
        TCL类:包含c++代码访问解释器的方法
        TCLObject类:这是所有模拟器对象的基类
        TCLClass类:其中有实例化tclobject类的方法
        TCLCommand类:定义了简单的全局解释命令
       EmbeddedTcl类:含有高层次的内建解释命令的方法(这个高层次内建解释命令是什么??指的是tcl内建命令吗?请大侠指教)
       Instvar类:定义了c++成员变量作为OTCL瞬时变量方法

c++代码访问解释器
   a .获得TCL类的指针
     TCL& tcl=TCL::instance();
  b. 激活Otcl过程(这里理解的不太明白,请指教)
     c++代码获得TCL类指针后,就可以访问解释器了。
     首先,c++代码通过下面几个函数传递参数(传递的是OTCL命令吗??比如传递字符串set)
    tcl.eval(char* s) 调用TCL_Globaleval(),通过解释器执行s
    tcl.evalc(const char*s) 返回字符串参数s
     。。。。
     解释器通过一个全局文本(这个全局文本是怎么定义的??)来识别这个字符串。
     如果解释器返回一个TCL_OK,则这些函数将会调用一个相应的otcl过程(这个没看懂,这个otcl过程是怎样被调用的??)
   
    总的来说,c++代码是通过解释器与otcl脚本连接的,解释器能够解释脚本,同时,解释器有接口和c++代码连接,从手册上看,解释器是由c++代码构成,但是解释器是如何解释脚本的呢??(请大侠告知)
    今天只看到这,上面一些问题请各位大侠给解答一下!谢谢!
2008-7-28 13:18 #1
 
 
muouniba
助理工程师




精华 0
积分 2
帖子 4
水位 6
技术分 0
来自 江苏省
状态 离线




我现在对这个解释器的概念是越来越模糊了.到底哪个是解释器呀.NS还是什么呢?
2008-7-28 20:34 #2
 
 
yidian16
助理工程师




精华 0
积分 9
帖子 29
水位 29
技术分 0
状态 在线




可以理解成ns (中连接tcl解释程序)把tcl教本 一次读入一行 处理读入的字符串(空格时分割符)  遇到未知命令用argv argc作为参数传递给command命令 这种时简单的添加命令的方法
高级添加命令时 你可以自定义自己命令要调用的函数 而不是默认的command函数 这个具体看tcl编程方面的书
学习ns2 不用太对tcl研究太深 用commamd添加命令的方式就可以了
2008-7-30 11:23 #3
   
   


             

© 2007 百思
京ICP备06052257号
联系我们 - 百思论坛 - Archiver
Discuz! Comsenz Inc.

你可能感兴趣的:(C++,脚本,command,firefox,Safari,Tcl)