2010-04-15 38 views
0

我的系統上有幾個tcl解釋器,我想選擇哪一個tcl使用的C API。有沒有辦法做到這一點?選擇解釋器TCL C API

謝謝!

+0

我有點失落。你在問什麼?你能否重新說明你的問題? – Earlz 2010-04-15 19:49:05

+0

你可能只是在問'哪個tclsh'? – 2010-04-16 08:12:26

+0

@jk:是的,我希望能夠指出它在一個特定的tclsh – Jordan 2010-04-16 13:08:35

回答

2

C api不選擇解釋器,您通過更改包含和鏈接路徑來選擇與您希望使用的解釋器相對應的C api。

1

您將翻譯傳遞給C API,首先使用Tcl_CreateInterp創建它。例如Tcl_Eval的界面:

int Tcl_Eval(Tcl_Interp *interp, const char *script) 
0

一般來說,運行TCL程序,當你選擇的解釋挑API。您可以通過命名解釋程序的明確這樣做正是因爲你選擇:

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

或者你也可以在啓動可執行的Tcl腳本,並依靠操作系統來處理您的路徑上把這一招用標準env程序環境選擇合適的一個:

#!/usr/bin/env tclsh8.6 

這是標準在其名稱中的版本上安裝的Tcl解釋器,這樣就可以輕鬆地在系統上不同的版本。


當創建一個使用Tcl庫一個C程序,您可以選擇通過設置頭文件和庫(這通常是最好看作是匹配的集)include和庫路徑。 Unix編譯器通常分別使用-I-L選項來執行此操作;通常還會安裝腳本(tclConfig.sh)以使這些選項更容易。請注意,雖然Tcl的庫通常以其名稱進行版本控制,但Tcl的頭文件不是;如果您將多個版本的標頭安裝到同一位置,則只有最新版本纔可用。

在構建Tcl時使用標準選項configure可以使所有事情分離得更好。