私たちのバイオインフォマティクスラボでは、最近C言語で書かれた(最適化された)プログラム用のGUIを作成するように求められました。 WindowsとMacの両方に簡単に移植することができます。これをやり遂げる方法は何ですか?ラージCプログラムのGUIへのアプローチ
答えて
CのWindows/Macで動作するGUIツールキットをお探しの場合は、GTKとお考えですか?
フロントエンドのGUIをJavaで記述し、Cプログラムから入力と出力を受け取ることができます。私はC#とCのコードと似たような仕事をしているグループをいくつか知っています(ただし、マルチプラットフォームの制約はありません)。
この方法では、必ずしもCツールキットを使用してGUIを作成する必要はありません。
プログラムの性質によっては、あなたが望む任意の言語で完全に別個のGUIアプリケーションを作成し、そこから既存のプログラムをfork /実行して、stdinとstdoutをGUIプログラムにリダイレクトすることができます。既存のプログラムがどのように動作するかによって、これはうまくいくかもしれませんし、非常に面倒かもしれません。
GTK(C APIを持っている)のようなGUIコードで既存のプログラムを拡張することもできますし、Qtを使うこともできます(C++ですが、C++からC関数を呼び出すときには問題ありません「extern」C「 ''として)。
これを簡単に行うことができる言語でのスクリプト作成が多数あります。私はtcl/tkのために行くだろうが、それはほとんどの箱からMacで動作し、あなたが考えることができるほとんどすべてのマシンにクロスプラットフォームです。
GTKも素晴らしいですし、多くのスクリプト言語にはバインディングがあります。
あなたがする必要がない場合はおそらく、あなたのGUIをcで書いたくありません。迅速に開発されたスクリプト言語を使用してください。
別のプログラムを使用してください。
既存のコードを壊すことはありません。コードがプログラマーが知らない/理解できないかもしれないというバイオ知識を持っている場合は特に重要です。
Guiが頻繁に変更され、数年後にはNewSuperOsToolkit(tm)のguiを書き換えようとしていますが、基礎となるワーカーコードは変更されません。私たちは、もともとラテン語で書かれた大気モデルコードを持っています。
エンジンコードをバッチとして、クラウド内のMPI上で並列に実行することができます。また、考えていない他の方法もあります。
ネイティブGUIが必要な場合は、wxWidgetsまたはQTを使用します。 (私はwxWidgetsを使用しています...)
代わりに、JavascriptとCSSを使用したHTMLベースのインターフェースがあります。あなたはGUIライブラリを完全に避けて、クロスプラットフォームのサポートを得て、結果はいくつかの次元では良く、他のものでは悪いです。
スタンドアロンのユーザーインターフェイスが本当に必要な場合は、WebKitなどのバイナリに統合できます。
- 1. 実行ラージCプログラムによって生成中級は
- 2. C++のGUIにリンクされたC++プログラム
- 3. クラスのラージ・ルーズ・ストリング
- 4. C++マルチスレッドのWindows GUI(フォームへのアクセス)
- 5. C++ win32コンソールへのGUIの追加
- 6. mpiプログラムのGUI
- 7. C#(WPF)非同期スレッド、GUIへのインターフェイス
- 8. ラージGIFアニメーション
- 9. Cプログラムのgdbへのコマンド
- 10. Python GUIでC++プログラムを埋め込む
- 11. 他のプログラムへの入力[C/C++]
- 12. Pythonプログラムのためのguiへの埋め込み
- 13. OS XへのCLI/GUI Windowsプログラムの移植
- 14. C#/ .NETのためのより宣言的なGUIアプローチがありますか?
- 15. CプログラムからC#へのデータ転送
- 16. アンドロイドアプリのアプローチへのウェブサイト
- 17. OpenGLES Boneのアニメーションソリューションへのアプローチ
- 18. データベースクエリのJUNITテストへのアプローチ
- 19. モカ:エクスプローラのインスタンスへのアプローチ
- 20. 検索価格へのデータベースへのアプローチ
- 21. マクロなしの設定へのC++のアプローチ
- 22. JOptionPaneプログラムからGUIインターフェースへの移動方法
- 23. C++ Windowsプログラム検出プログラム終了| GUIまたはコンソールなし
- 24. 私はこのように私のアプリでラージ・ページを使用するプログラムで
- 25. C/CPPアプリケーションのピークメモリデータ構造へのアプローチは?
- 26. CIへのアプローチ方法
- 27. マングーススキーマコレクションプロパティへの正しいアプローチ
- 28. setlocale()へのスレッドセーフなアプローチ
- 29. マルチサイト認証へのアプローチ
- 30. シンプルなGUIプログラム
+1。別のプロセスか、少なくともあなたのGUIから呼び出したリンクされたライブラリ。あなたは、GUIをリリースした日に時代遅れになったGUIツールキット(言語)を実行できる唯一の古いコンピュータを誰もが使用することを非難するつもりはありません。 Cコンパイラは近い将来にそこにいます。 – jbcreix