【发布时间】:2017-01-19 08:30:00
【问题描述】:
我正在编写一个 EDA 实用程序,它依赖于符合 TCL 8.6 的 API。我的挑战如下:
我的实用程序在数据库中的晶体管模型上运行,并使用 EDA 供应商的 TCL API 命令进行一些分析。我可以将 TCL 过程名称/指针传递给 TCL 命令,并且分析将依赖于我的代码,而不是 EDA 供应商的代码。内部编写的 proc 接受指向 EDA 供应商数据库中特定晶体管实例的指针作为参数。
现在,EDA 供应商允许 TCL 8.6,这意味着我想传递特定对象名称的名称/指针,而不是全局过程名称或命名空间过程名称。我怎么做?在代码示例中:
oo:class create foo {
constructor {} {
variable numy 2
}
method fooshta { mos_pointer } {
puts "now in mosy [get name $mos_pointer ]"
}
destructor {}
}
foo create bar
analyse_tx -proc < how do I refer to bar's method fooshta?>
在非 OOP 上下文中,代码如下所示:
proc fooshta { mos_pointer } {
puts "now in mosy [get name $mos_pointer ]"
}
analyse_tx -proc fooshta
可以看出,我正在寻找 < how do I refer to bar's method fooshta, so that the EDA tool will invoke it for each transistors' instance? and pass the parameter?>的答案
谢谢。
【问题讨论】: