Выберите интерпретатор TCL C API - PullRequest
0 голосов
/ 15 апреля 2010

У меня есть пара интерпретаторов tcl в моей системе, и я хотел бы выбрать, какой из них использует C API для tcl. Есть ли способ сделать это?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 15 апреля 2010

C api не выбирает интерпретатор, вы выбираете C api, соответствующий интерпретатору, которого хотите использовать, изменяя пути включения и ссылки.

1 голос
/ 16 апреля 2010

Вы передаете интерпретатор в API C , сначала создав его с помощью Tcl_CreateInterp. Например, интерфейс Tcl_Eval:

int Tcl_Eval(Tcl_Interp *interp, const char *script)
0 голосов
/ 22 декабря 2015

Вообще говоря, при запуске программы Tcl вы выбираете API, выбирая интерпретатор.Вы можете сделать это явно, назвав программу-интерпретатор точно так, как вы выберете:

bash$  /my/special/place/bin/tclsh8.6 thescript.tcl ...

Или вы можете поставить этот трюк со стандартной программой env при запуске исполняемого сценария Tcl и полагаться на ОСчтобы обработать вашу среду PATH для выбора подходящей:

#!/usr/bin/env tclsh8.6

Стандартно устанавливать интерпретаторы Tcl с версией в их именах, чтобы в системе можно было легко иметь разные версии.


При создании программы на C, использующей библиотеку Tcl, вы выбираете заголовки и библиотеки (которые обычно лучше всего рассматривать как совпавший набор), устанавливая путь включения и путь к библиотеке.Компиляторы Unix обычно используют опции -I и -L, чтобы сделать это соответственно;Сценарий (tclConfig.sh) обычно также устанавливается, чтобы упростить настройку этих параметров.Обратите внимание, что хотя библиотеки Tcl обычно имеют версии в своих именах, заголовочные файлы Tcl - нет;если вы установите несколько версий заголовков в одно и то же место, будет использоваться только самая последняя версия.

При сборке Tcl можно использовать стандартные опции для configure, чтобы все было лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...