2009-07-24 16 views
2

パフォーマンスの問題を診断するためにプロファイルする必要があるネイティブC++アプリケーションがあります。私がWinCEのために見つけることができる唯一のプロファイラは、リモートコールプロファイラです。インストーラフックをコンパイルできるようにアプリケーションをPlatform Builderでビルドする必要があります。Visual Studio 2008で構築されたネイティブC++ WinCEアプリケーションのプロファイリング

私のアプリケーションはVS2008でビルドされています。助言がありますか?

答えて

4

私は答えを感謝します。私は両方の提案のいくつかを行った。しかし、私はそれ以来私が間違っていたことを学んだ。 VS2008で構築されたアプリケーションは、リモートコールプロファイラで使用するためにインストルメントできます。

  1. コンパイルステップに/ callcapを追加します。
  2. (プラットフォームビルダーの)cecap.libのリンク
1

特別なWinCE APIまたはサードパーティのライブラリを使用していますか? Win32用のアプリケーションをコンパイルしようとすることができ、そのプラットフォーム上でプロファイリングオプションがはるかに多いからです。

2

CEアプリのプロファイル方法が見つかりませんでした。私はブルートフォースアプローチを使用します。

1)タイムクリティカルなコードでは、古いARMプロセッサのネイティブ命令ではないため、除算と浮動小数点演算を使用しないでください。単純な整数除算は100クロックのランタイムライブラリコードに変わり、浮動小数点演算はさらに遅くなります。

2)コンパイラが素晴らしい仕事をしないので、アセンブリ言語で "内部ループ"コードを記述してください。

3)自分の時間を計るために内部タイマー(GetTickCountの分解能はWinCEでは1ms)を使用してください。

4)コードのセクションを選択的に有効/無効にして、各セクションの所要時間を測定します。

希望すると、 L.B.

関連する問題