我必须使用需要GUI的C ++来完成大学项目。我想使用Perl / Tk作为GUI,但我不确定如何将C ++链接到Perl。该项目需要能够来回传递变量。任何人都可以指向我一些好的教程/书籍的方向来链接这两个,或任何关于我应该如何处理问题的想法,因为我从来没有必须链接两种语言。
答案 0 :(得分:6)
答案 1 :(得分:6)
您也可以尝试swig。它是一种从C / C ++生成多种脚本语言接口的工具。
答案 2 :(得分:5)
由于Perl将提供GUI,我将C ++代码嵌入到Perl中。假设有大量的C ++代码,我会把它放到库中。将该库链接到Perl的传统方法是使用XS创建Perl模块。 Tutorial for writing XSUBs和XS language reference manual将有助于此。
更简单的方法可能是使用Inline模块。我之前使用过Inline::C,它运行良好,但我从未尝试过Inline::CPP(C ++版本)。我看到它有mixed reviews。
答案 3 :(得分:1)
如果我正在解决这个问题,我将使用TCL / TK创建一个GUI,然后在C / C ++中构建一个可以从TCL / TK调用的TCL扩展。这是TCL / TK真正擅长的事情之一(其他动态语言也能做到这一点,但我喜欢TCL / TK)。您可以使用C ++位创建一个共享库(在Unix上的.so或在Windows上的.dll),并在加载库时将它们作为命令导入TCL。
已经提到的Swig是一个帮助自动化包装过程的工具,它可以使用你的C ++代码并创建一个包装器,允许它加载到多种语言,如TCL,Perl,Python,Ruby ......从http://www.tcl.tk/开始,获取TCL和TK的大量信息。
答案 4 :(得分:0)
如果它是一个小项目,花费大量时间让两种语言交谈可能不值得投资。您可以考虑使用更合适的工具。 C#会与C ++交谈,但不会那么痛苦。