GUI を必要とする C++ を使用して大学のプロジェクトを行う必要があります。GUI に Perl/Tk を使用したいのですが、C++ を Perl にリンクする方法がわかりません。プロジェクトでは、変数をやり取りできる必要があります。2つをリンクするための優れたチュートリアル/本の方向性、または2つの言語をリンクする必要がなかったので、問題にどのように取り組むべきかについてのアイデアを教えてください。
5 に答える
swigを試すこともできます。C/C++ からいくつかのスクリプト言語へのインターフェイスを生成するためのツールです。
Perl が GUI を提供する予定なので、C++ コードを Perl に組み込みます。かなりの量の C++ コードがあると仮定すると、それをライブラリに入れます。そのライブラリを Perl にリンクする従来の方法は、XS を使用して Perl モジュールを作成することです。XSUBとXS 言語のリファレンス マニュアルを書くためのチュートリアルがその助けになります。
少し簡単な方法は、Inlineモジュールを使用することです。以前にInline::Cを使用したことがあり、うまく機能しましたが、Inline::CPP (C++ バージョン) を試したことはありません。さまざまなレビューがあるようです。
この問題に取り組むとしたら、TCL/TK を使用して GUI を作成し、TCL/TK から呼び出すことができる C/C++ で TCL 拡張機能を構築します。これは、TCL/TK が本当に得意とすることの 1 つです (他の動的言語もこれを行うことができますが、私は TCL/TK が好きです)。C++ ビットを使用して共有ライブラリ (Unix では .so、Windows では .dll) を作成すると、ライブラリをロードするときにコマンドとして TCL にインポートされます。
すでに言及されている Swig は、ラッピング プロセスの自動化に役立つツールです。C++ コードを使用して、TCL、Perl、Python、Ruby などの多くの言語にロードできるラッパーを作成できます。
TCL と TK に関する多くの情報については、 http: //www.tcl.tk/ から 始めてください。
それが小規模なプロジェクトである場合、2 つの言語を話せるようにするために多くの時間を費やすのは、おそらく投資する価値はありません。より適切なツールの使用を検討してください。C# は C++ とやり取りする際の負担が大幅に軽減されます。