1

私は、C++ で作成した単純な (そして些細な) バンキング アプリケーションを持っています。私はubuntuを使用しているため、GNOME(GTK +)を使用しています。すべての GUI を C/GTK+ で記述し、それをどうにかして C++ コードにリンクできるかどうか疑問に思っていました。これは可能ですか?

注: Qt や GTKmm は使いたくないので、それらを回答として提供しないでください。

4

5 に答える 5

5

はい、それはとても簡単なことです。あなたがしなければならないのは、UIコードのイベントハンドラーとコールバックがそれらを呼び出すことができるように、いくつかのC++関数を「externC」として公開することです。

既存のC++ソースを変更できない場合でも問題ありません。UI用のC++シムを作成し、それらの関数を外部化して、そこからバックエンド関数を呼び出すだけです。

于 2009-05-10T03:14:16.610 に答える
1

CコードがC++を呼び出すことができるように、適切なextern "C"を使用して、理由がわかりません。確かに、あなたはおそらく自分自身でそれを少し難しくしているでしょう、しかしそれは理論的には健全です。

于 2009-05-10T03:15:31.430 に答える
0

他の人が提案しているように、C++ ライブラリの C ラッパーを作成できます。ただし、C サブセットのみを使用する場合でも、C++ でフロントエンドを作成することもできます。言語の混合が気に入らない場合は理解できますが、ラッパーを作成する時間を節約できるため、最も簡単な方法です。

于 2009-05-11T07:05:32.267 に答える
0

代わりにwxWidgetsを使用するのはどうですか?

于 2009-05-11T07:08:19.407 に答える
0

GTKmm を使用せずに GTK/C コードを C++ としてコンパイルし、C++ コードをネイティブに使用することができます。

ほとんどのまともな C ライブラリはネイティブ C++ コードから使用でき、GTK+ は基本的に C ライブラリです。

于 2012-11-16T16:40:49.307 に答える