Tengo una aplicación de shell pequeña que incrusta Tcl para ejecutar algún conjunto de código Tcl. El intérprete Tcl se inicializa utilizando Tcl_CreateInterp. Todo es muy simple: tiposComando de salida de control ejecutado por tiempo de ejecución de Tcl incrustado
- usuario de comandos de Tcl
- el comando se pasa a Tcl_Eval para la evaluación
- repetición
Pero si un usuario escribe 'salida', que es un Tcl válida comando, todo el asunto - intérprete Tcl y mi aplicación de shell - salir automáticamente.
P: ¿Hay alguna forma de que pueda captar esta señal de salida procedente del intérprete Tcl? Realmente me gustaría no verificar cada comando de usuario. Intenté Tcl_CreateExitHandler, pero no funcionó.
Muchas gracias.
Se corrigió el título y se eliminaron las referencias a "tcllib" porque una biblioteca estandarizada * para * Tcl [se conoce comúnmente con ese nombre] (http://tcllib.sourceforge.net/). A lo que parece hacer referencia en realidad es a la incrustación del tiempo de ejecución de Tcl en su programa. – kostix
'Tcl_CreateExitHandler' es para interceptar salidas y liberar recursos (p. Ej., Conexiones de bases de datos) que de lo contrario se mantienen. No puede evitar que ocurra una salida. –
Eso es exactamente lo que quiero hacer: liberar recursos al salir. ¿Por qué no funcionaría 'Tcl_CreateExitHandler' en este caso? – ilya1725