Ich habe ein paar tcl Dolmetscher auf meinem System, und ich möchte, welche der C-API für tcl holen verwendet. Gibt es eine Möglichkeit, dies zu tun?
Vielen Dank!
Ich habe ein paar tcl Dolmetscher auf meinem System, und ich möchte, welche der C-API für tcl holen verwendet. Gibt es eine Möglichkeit, dies zu tun?
Vielen Dank!
Die C api nicht abholen den Interpreter, holen Sie die C api an den Interpreter, den Sie verwenden möchten, indem Sie die umfassen und Linkpfade zu ändern.
Sie passieren den Interpreter auf den C - API , zunächst mit erstellt haben Tcl_CreateInterp
. Zum Beispiel Tcl_Eval
‚s - Schnittstelle ist:
int Tcl_Eval(Tcl_Interp *interp, const char *script)
Im Allgemeinen, wenn ein Tcl-Programm ausführen Sie die API holen durch den Interpreter auswählen. Sie können so genau durch die Benennung des Interpreter-Programm dies explizit tun, wie Sie sich entscheiden:
bash$ /my/special/place/bin/tclsh8.6 thescript.tcl ...
Oder können Sie diesen Trick mit dem Standard setzen env
Programm beim Start der ausführbaren Tcl - Skript und stützen sich auf die OS PATH zu verarbeiten , um eine passende auszuwählen:
#!/usr/bin/env tclsh8.6
Es ist Standard Tcl Dolmetscher mit der Version in ihrem Namen zu installieren, so dass Sie leicht unterschiedliche Versionen auf dem System haben können.
Wenn ein C - Programm erstellen, die die Tcl - Bibliothek verwendet, wählen Sie die Header und Bibliotheken (die in der Regel am besten als ein aufeinander abgestimmten Satz angesehen werden) , indem Sie Ihre Einschluss- und Bibliothekspfad. Unix - Compiler in der Regel verwenden -I
und -L
Optionen , das zu tun sind; ein Script ( tclConfig.sh
) ist in der Regel auch die Optionen , immer Recht zu erleichtern installiert. Beachten Sie, dass während Tcl Bibliotheken in der Regel in ihrem Namen versioniert werden, Tcl Header - Dateien sind nicht; wenn Sie mehrere Versionen der Header in die gleiche Stelle installieren, nur die aktuellste Version verwendbar sein.
Es ist möglich , Standardoptionen zu verwenden configure
beim Bau von Tcl , um alles besser aufteilen zu machen.