一部の 1KLOC で構成される単一の proc のみを含む receive.tcl スクリプトが 1 つあります。
puts "DEBUG_1"
proc Receive { arg1 arg2} {
puts "DEBUG_2"
... TCL Code
}
puts "DEBUG_3"
今、私は非常に多くの異なるスクリプトでこの proc Receive を使用する必要があります。で言いましょう。1.tcl 2.tcl 3.tclなど、これら1.tcl 2.tclはすべて Master( Master.tcl) から呼び出されます。
source PATH/receive.tcleveryなどに含める/書く1.tcl 2.tcl必要がありますか?使用するReceive。
また
Master.tcl一部の Master( ) スクリプトから「source PATH/receive.tcl」を呼び出すことができ1.tcl 2.tcl、個別に何も含めずに、任意のスクリプトなどでさらに使用できます。TCL インタープリターは、この proc Receive を保存/記憶し、それ以降のスクリプトで使用できますか?
問題 :「$PATH/receive.tclevery1.tcl 2.tclなどをソースとしてMaster.tcl; Master.tclcontainssource $PATH/1.tcl source $PATH/2.tclなどをソースとして使用している場合、 Master.tcl.
- 最初の反復
1.tclでは、正常に実行されます。 - 通訳が入り
receive.tclます。印刷DEBUG_1しDEBUG_3てさらに順調proc Receiveに使用されてい1.tclます。 - しかし、インタプリタがそこに移動する
2.tclと、source $PATH/receive.tcl - 通訳者が行く
receive.tcl - TCL は何度もクラッシュします。
DEBUG_1私はただしか見えないという意味です。その後のセグメンテーション違反。