我有一個嵌入Tcl以執行一些Tcl代碼的小型shell應用程序。 Tcl解釋器使用Tcl_CreateInterp進行初始化。一切都非常簡單:由嵌入式Tcl運行時執行的句柄退出命令
- 用戶類型Tcl命令
- 命令被傳遞給Tcl_Eval評估
- 重複
但是,如果用戶鍵入「退出」,這是一個有效的Tcl命令,整個事情 - Tcl解釋器和我的shell應用程序 - 自動退出。
問:有沒有什麼辦法可以捕捉到來自Tcl解釋器的退出信號。我真的不想檢查每個用戶的命令。我試過Tcl_CreateExitHandler,但沒有奏效。
非常感謝。
修正了標題並刪除了對「tcllib」的引用,因爲* Tcl [標準庫]通常被該名稱所知(http://tcllib.sourceforge.net/)。你似乎真正指的是將Tcl運行時嵌入到你的程序中。 – kostix 2012-03-29 08:08:09
'Tcl_CreateExitHandler'用於捕獲退出並釋放資源(例如數據庫連接),否則這些資源會很快地出現。它無法阻止退出的發生。 – 2012-03-29 14:41:13
這實際上正是我想要做的 - 在退出時釋放資源。爲什麼在這種情況下'Tcl_CreateExitHandler'不起作用? – ilya1725 2012-03-29 18:05:22