6

薄い GUI レイヤー、非常にファットな計算レイヤー (計算負荷の高いキャリブレーションやその他の長時間実行される処理を行う)、およびかなり単純な永続化レイヤーを使用してアプリケーションを作成しようとしているとします。私はC++でGUI +計算レイヤーを構築しようとしています(GUIパーツにQtを使用しています)。

さて、sqlalchemy を使用して Python で永続化レイヤーを構築し、それを C++ アプリケーションに組み込み、軽量のデータ転送オブジェクト (C++ で記述されているが Python からアクセス可能) を介してレイヤーが相互にやり取りできるようにするのは、クレイジーなアイデアでしょうか?

(私が傾倒している他の代替手段は、おそらく最初から Python でアプリを作成し、PyQt ラッパーを使用してから、計算タスクのために C++ を呼び出すことです)

ありがとう、リッカード

4

1 に答える 1

10

私は「代替」アプローチを採用します:

可能な限り Python で記述し (GUI バインディング PyQt または PySide を使用できます)、計算負荷の高い部分 (パフォーマンスにとって重要であることが証明されている場合) のみを C++ で記述します ( Boost.Pythonを参照してください)。

Python での開発は、C++ よりも速く、簡単で、エラーが発生しにくいはずです (経験豊富な C++ 開発者でない限り)。Boost.Python を介して C++ を公開することは、その逆よりも簡単なはずです。

于 2010-04-15T09:03:04.517 に答える