J'ai un programme C dans lequel je crée un interpréteur tcl. J'ouvre ensuite un fichier dans le programme C et je veux le passer sur l'interpréteur tcl pour que l'interpréteur tcl puisse y faire des E/S.Passer un descripteur de fichier ouvert en C à un interpréteur tcl pour l'utiliser
Et je me rends compte que je pouvais simplement ouvrir le fichier dans l'interpréteur tcl, mais j'ai un descripteur de fichier ouvert quelque part ailleurs, donc ce n'est pas une option, malheureusement.
Des idées ou des astuces, ou est-ce que j'ai manqué quelque chose dans l'API tcl de tcl?
J'ai vu chan commande doc au niveau tcl, mais je n'ai rien vu qui me semblait approprié pour le faire. J'ai simplifié le problème. En fait, j'utilise le module Perl Tcl et j'ai besoin de construire une commande tcl pour faire la même chose. Existe-t-il une manière équivalente de le faire via l'opération tcl "chan"? Parce que le fichier est ouvert en Perl, mais je peux accéder au descripteur de fichier, et j'ai besoin de le connecter au sous-système tcl. Mais s'il n'y en a pas, je vais mordre la balle et le faire en C de cette façon. Merci pour le conseil! – xcramps
Pourriez-vous écrire une extension TCL C pour créer une nouvelle commande TCL qui fait ce dont vous avez besoin en utilisant les fonctions API Tcl_MakeFileChannel et Tcl_RegisterChannel? – Jackson
Je pense que ces conseils sont la façon dont vous devez aller. Tcl_MakeFileChannel prend un descripteur de fichier existant et le rend disponible dans Tcl. Lisez attentivement la documentation. Je n'ai pas travaillé avec Perl et Tcl, donc je ne peux pas donner de conseils spécifiques pour ça. –