2009-08-21 6 views
2

私はWindows Mobile開発を初めて利用しています。私は、次のようなWindowsモバイル開発に関連する疑問を持っています。Windows MobileでのC#とCまたはC++の使用の違い

1)開発用の言語を選択する限り、C#とC(C++)の主な違いは何ですか? (構文上ではない)。

2)私は開発のためにどの言語を選ぶべきですか?

3)私はモバイル開発としてC#に行くと、 デスクトップのC#のすべてのAPIにアクセスできます。

答えて

1

1)ネイティブコードで書かれたアプリケーションは、より高速に実行されます。さらに、ネイティブアプリケーションではメモリフットプリントが小さくなります。

2)あなたが書いているアプリケーションによって異なります。最高のパフォーマンスが要求されず、多くのネイティブ機能を必要としない場合は、コードを管理する必要があります。柔軟性が必要な場合は、ネイティブに行ってください。

3)いいえ.Net Compact Frameworkには、デスクトップAPIのサブセットがあります。

1

1)のために十分にサポートされているフレームワーク(.NETコンパクト版)があるので、

2)C位に答えることがあまりにあいまい。

3)いいえ。すべてのAPIが.NETのコンパクトエディションで使用できるわけではありません。構文は別に

2

は、主な違いは、C#が管理されていることで、C++ではありません(あなたが管理し、Cを使用している場合を除き++?)

彼らは両方のオブジェクト指向言語(ないC)をしています。 C++では、あなた自身のメモリ管理(良いか悪いか)を行うことができますが、C#は管理されたコードなので、ガベージコレクションは主にランタイムによって実行されます。 C#を使用すると、CLRを対象とする他のすべてのマネージアセンブリにアクセスできます。

0

Windows Mobile専用のアプリケーションを開発する場合は、.Net Compact Frameworkでサポートされている言語を使用してください。

C++(アンマネージド)を使用することもできますが、すべては開発しているモバイルアプリケーションの種類によって異なります。

2

あなたの走行距離は異なる場合がありますが、数年前にWindows Mobile用のC#アプリケーションを開発しようとしましたが、パフォーマンスは信じられないほど悪かったです。私は "私のダイアログボックスが「悪い」と表示されるのに10秒かかります。デスクトップPCよりもリソースの制限が厳しいデバイスであり、.NETでのパフォーマンスが顕著に影響する可能性がさらに高いです。 あなたのアプリがパフォーマンスに敏感ではない場合はC#に行ってください。ただし、パフォーマンスに関する懸念がある場合は、C#/ .NETがWindows Mobileで切断されることはありません。 C++は次の最も賢明な選択肢です。

0

私は絶対に必要な場合を除き、WMのために開発する場合、.NET Frameworkを避けるために、過去に忠告されています。

これは、明らかに.netフレームワークがかなり多くのdllをロードし、大きなメモリフットプリントを持っているためです(明らかに、他のものがあればこれはある程度緩和されます)。アセンブリを共有するネットアプリを実行しているため)、電力使用量がやや悪くなります。

また、このようなpdaのような低消費電力デバイスでは(この問題を回避するために、多くのメモリを移動すると制御が不安定になるなど)バックグラウンドで周囲が目立つようになることがあります。

しかし、.netでコード化するのはかなり簡単で高速です。

場合:

  • あなたが考える「クイック勝利」良心的、効率的なコードや
  • よりも重要であるためにアプリありえない性能敏感または
  • 電池寿命約または
  • を気にいけません
  • あなたはオープンスタンダードとコンプライアンスを気にしません

次に.netに進みます。

.netコンパクトなフレームワークは.netのデスクトップバージョンのサブセットです。したがって、フレームワークの特定の機能や側面は利用できません。

私はちょうど私がお勧めします。ネットをお勧めします - あなたが商用のソリューションなどを開発しているなら、私はc/C++の使用をお勧めします。

hth。

0
  1. C#は、ハードウェアを直接扱うのに対して、C++は高効率を必要とするアプリケーションに使用されることがよくあります。

  2. 私はC#と言います。あなたはWindows Mobile開発の初心者であることを考えると、C#を使うと実装が簡単になります。また、C#はWindowsによって開発されているため、特にWindowsアプリケーションを対象としています。

  3. いいえデスクトップAPI用のライブラリのサブセットのみがあります。

関連する問題