2012-07-11 79 views
0

我有一個C++庫,我們正在使用它來覆蓋某些測試功能。但是,我們只是將它設置爲從命令行進行提示。用於C++庫的Tcl/Tk GUI界面

我正在爲它創建一個GUI來作爲提示而不是命令行。

我一直在尋找Tcl/Tk,但我不太確定它是否可以做我想做的事。是否可以使用Tcl/Tk包裝來設置我的庫函數的風格?

我可以在我的C++代碼中以某種方式包含Tcl/Tk,以便在庫中調用這些函數嗎?

+0

你真的想提「Tlc」,還是你的意思是「Tcl」? – 2012-07-11 18:23:52

+0

是的,你完全正確。我編輯了這篇文章 - 謝謝! – 2012-07-11 18:58:37

回答

0

可能最容易用swig包裝你的C++函數並從Tcl調用它們,參見this intro,然後你可以使用Tk爲你的輸入參數創建一個GUI和/或顯示你的結果。

0

要考慮的兩種機制是SWIGcritcl in C++ mode。前者可能更容易處理,因爲你已經擁有C++代碼,而後者會產生更自然的(更「Tcl-ish」)語言嵌入。

一旦將庫連接起來,首先要做的事就是編寫一個測試套件(使用tcltest,這是Tcl提供的標準包),以便您知道事情正在發揮作用。 (以後可以節省很多心痛和發癢!)如果你的代碼工作正常,你可能會在一兩天內擁有足夠好的測試套件。然後將它連接到您的GUI(Tk確實對此很好),在知道它使用的業務邏輯層工作正常的情況下可以安全地編寫它。如果可以的話,我鼓勵您避免將任何GUI代碼放入您的C++代碼中;生產沒有糾纏的乾淨界面要好得多。 (好吧,這並不總是可以避免的,尤其是如果你正在做大量的可視化工作,但是這需要更多的工作......)

+0

你也可以考慮使用[ffidl](http://wiki.tcl.tk/1197),它可以直接調用DLL函數。 – 2012-07-12 08:07:40