0

C++ でいくつかのライブラリを作成したいと考えています。これらのライブラリは、物理現象をモデル化できます。これらのライブラリが GUI とは無関係に更新されるクロスプラットフォーム環境を構築したいと考えています。私の場合、PC アプリケーションと iOS アプリがそのようなライブラリのクライアントになります。

パフォーマンス、C++ コードのプラグインの容易さなどの観点から、お勧めは何ですか? C++ クラスを生成し、.mm 拡張子を持つ他のクラスから呼び出すか、c++ でフレームワークを生成します。

クロスプラットフォームの互換性のために、C++ とは異なるものをお勧めしますか?

注: 私は経験豊富なプログラマーではありませんが、まともなレベルに到達しようとしています。

ありがとう、アレハンドロ

4

1 に答える 1

2

パフォーマンス、C ++コードのプラグインのしやすさなどの観点から、あなたの推奨事項は何ですか?C ++クラスを生成し、拡張子が.mmの他のクラスから呼び出すか、C++でフレームワークを生成します。

サポートしようとしているプラ​​ットフォームにもよりますが、C ++はかなりサポートされているので、まったく問題はないと思います。C ++もかなり低レベルなので、必要なすべてのパフォーマンスが得られます。

ただし、フレームワークの概念に関しては、注意が必要です。通常、フレームワークは、いくつかの方法で再利用するクラスのセットを提供します。1つ、おそらく最も重要な方法は、サブクラス化することです(つまり、不足しているメソッドをサブクラス化して指定するか、ジェネリックメソッドを特殊化します)。C ++クラスから派生したObjective-Cクラスのように、これを実際に行うことはできませんでした。これは不可能です(ある種のラッパーまたはブリッジを定義しない限り)。

したがって、C ++フレームワークがあり、C ++を使用して拡張し、ObjectiveCなどの他の言語から使用できます。

クロスプラットフォームの互換性のためにC++とは異なるものをお勧めしますか?

繰り返しますが、上記と同じですが、C ++は他のオプションよりも優れています(たとえば、iOSではサポートされていないJava、ObjCを使用する主要なプラットフォームであるMacOSではサポートされていません)。おそらくCだけがあなたに広い携帯性を与えることができます。

于 2013-01-12T10:36:13.983 に答える