2012-07-11 150 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