5

レガシー GUI プログラムを Motif から Gtk に移行するプロジェクトを行っています。ソース コードは非常に長い (約 80k 行)。今、私には2つの計画があります:

  1. Motif 関数と Gtk の間の対応する関係を見つけるだけです。次に、この変換を自動的に行うスクリプトをいくつか作成します。もちろん、これは 100% 自動ではできず、手作業が必要になります。
  2. ソース コードから GUI プログラムのアーキテクチャに戻ります。ツリー状の構造を構築し、その構造に従って Gtk を使用してプログラムを再構築します。

この二つの計画についてアドバイスをお願いします。アイデアや考えも大歓迎です。

4

2 に答える 2

0

モチーフはわかりませんが、解決策1は私にとって非常に悪い考えのように聞こえます。ツールキットにはいくつかの特定の機能があり、交換することはできません。そうしないと、ソフトウェアに対して簡単に異なるフロントエンドを使用することになりますが、それにはかなりの作業が必要になるため、そうではありません。

あなたのソリューション2、特にツリーのような構造がよくわかりません。どの画面がいつ現れるかを示す図ですか?それは良い考えです。現在の画面のスクリーンショットを撮り、それらを矢印付きの大きな画像にマージすると、どのアクションがどの画面につながるかを説明するのに役立ちます.

次に、GUI ロジックがプログラム内で明確に分離されているかどうか、またはすべてが関連付けられているかどうかを確認する必要があります。それが同点である場合、多くの作業が必要になり、GTK でプログラムを完全に再実装する可能性が高くなります!

しかし、 Gladeを使用して GTK GUI を設計できることを忘れないでください。これにより、GUI 作成コードのかなりの数を節約できます。

あなたのアプリは 80k LOC であるため、これは大きなプロジェクトであり、達成までに数か月かかる可能性があると思います。GTK アプリのスケルトンを作成し、プログラムの内部ロジックをコピーして貼り付ける必要があります。画面ごとに再実装を開始すると、実際の改善が見られます。一度にすべてをやろうとすると、進歩が見られずに落胆してしまいます.

これはすべて個人的なアプローチであり、それが私のやり方です。他の人がより良い移行計画を見つけるかもしれません。

gtk-app-devel-list メーリング リストで検索すると、より多くのアドバイスを見つけることができます(同様の質問が既に寄せられています。このような質問があります)。

于 2012-04-27T09:43:05.317 に答える
0

大学時代、MOTIF プログラムから X フレームワーク xview への (自動化された) 変換を行うという課題があったことを思い出すことができます。私はその作業に迷い、完全な再構築を行いました。

頑張って

于 2012-04-27T09:24:24.263 に答える