私は amr 音声コーデック (移植/最適化) に取り組んでいます。voiceage のアーム (WinCE 用) に最適化されたバージョンがあり、パフォーマンス テストの参考として使用しています。これまでのところ、私のライブラリで生成されたバイナリは、他のライブラリよりも約 20 ~ 30% 優れています。私は Vs2008 を使用しており、Microsoft コンパイラで生成できる ARM 命令セットへのアクセスが制限されています。そこで、パフォーマンスの違いが何であるかを確認するために、代替コンパイラを探してみました。RVCT コンパイラがありますが、elf バイナリ/オブジェクト ファイルが生成されます。ただし、Wince 携帯電話 (TyTn 2) でテストを実行しているため、RVCT でコンパイルされたコードを WinCE で実行する方法を見つける必要があります。オプションのいくつかは、1) アセンブリ リストを作成する (armcc の -S オプション)、
私の最初の試みは、エクスポートされた関数を 1 つ含む単純な C++ ファイルを作成し、RVCT でコンパイルしてから、その関数をスマートフォンで実行することです。発行されたアセンブリを ms アセンブラーでアセンブルすることはできません (互換性がないだけでなく、ms アセンブラーは RVCT コンパイラーで生成された命令の一部を拒否します。私の場合は ASR オペコード) 次に、ELF オブジェクトを coff 形式に変換しようとしましたが、それに関する情報が見つかりません。ce 用の gcc ポートがあり、そのツールセットの objcopy がタスクを実行できるはずです。しかし、私はそれを働かせることができません。さまざまなスイッチを試しましたが、入力および出力形式の bfdname として正確に何を指定する必要があるかわかりません。だから、私もそれを機能させることができませんでした。fromelf でダンプして、生成された bin ファイルを使用するのはやり過ぎのようですが、それで、私がやるべきことが何かあるか、または誰かがすでに同様のタスクを行っていて、私を助けることができるかどうか、皆さんに尋ねることにしました。基本的に、コードを RVCT コンパイラでコンパイルして、パフォーマンスの違いを確認するだけです。私のコードは、どの C ランタイム関数にも依存していません。
ありがとう!