私たちのバイオインフォマティクスラボでは、最近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. ラージGIFアニメーション
- 4. C++マルチスレッドのWindows GUI(フォームへのアクセス)
- 5. C++ win32コンソールへのGUIの追加
- 6. mpiプログラムのGUI
- 7. Cプログラムのgdbへのコマンド
- 8. Pythonプログラムのためのguiへの埋め込み
- 9. 他のプログラムへの入力[C/C++]
- 10. OS XへのCLI/GUI Windowsプログラムの移植
- 11. OpenGLES Boneのアニメーションソリューションへのアプローチ
- 12. 検索価格へのデータベースへのアプローチ
- 13. CプログラムからC#へのデータ転送
- 14. C#/ .NETのためのより宣言的なGUIアプローチがありますか?
- 15. CIへのアプローチ方法
- 16. マルチサイト認証へのアプローチ
- 17. C/CPPアプリケーションのピークメモリデータ構造へのアプローチは?
- 18. GUI Javaプログラム - ペイントプログラム
- 19. C++ Windowsプログラム検出プログラム終了| GUIまたはコンソールなし
- 20. Win32 GUIプログラム内のレイアウト
- 21. C++プログラムへのMPIサポートの追加
- 22. シンプルなJava GUIプログラム
- 23. Monopoly Board用のJavaを使った最高のGUIアプローチ
- 24. .netアプリケーションGUIへのアクセス
- 25. android用の仮想キーボードIMEへのアプローチ
- 26. RSpec要求仕様のスピードアップへのアプローチ
- 27. EFのデータベースへの移行アプローチ
- 28. .NETのn層CRUDアプリケーションへのアプローチ
- 29. CSSドロップシャドーテクニックへの最善のアプローチ - non image
- 30. Android XMLレイアウトへの最善のアプローチ
+1。別のプロセスか、少なくともあなたのGUIから呼び出したリンクされたライブラリ。あなたは、GUIをリリースした日に時代遅れになったGUIツールキット(言語)を実行できる唯一の古いコンピュータを誰もが使用することを非難するつもりはありません。 Cコンパイラは近い将来にそこにいます。 – jbcreix