私は仕事で主に埋め込みコードを書いています。何世代にもわたって開発されてきた大規模な長期プロジェクトがあり、現在、それが書かれたプロセッサは廃止されており、同じメーカーのプロセッサを使い続けることさえ不可能かもしれません。(移行はおそらくTIからルネサスFPUマイクロプロセッサになります)。問題の一部は、一部のコードがアセンブリで記述されていることです。
できるだけ痛みを伴わずに移行し、将来そのような移行が必要になった場合にスムーズに移行する方法を探しています。
あなたは何を提案できますか?
1 に答える
13
可能な限り多くのコードの汎用 C バージョンを生成します。
最終的な実装が手動で最適化されたアセンブリになることを意図している場合、これは時間の無駄のように思えるかもしれませんが、実際にはそうではありません。
新しいターゲット向けに最適化する場合、アセンブリの主要なセクションを書き直すことができますが、C バージョンを使用すると、まず新しいターゲットごとに非常に迅速に何かを起動して実行できるようになり、次に最適化時に比較するための読み取り可能な参照実装が提供されます。これにより、あなたの人生はずっと楽になります。
さらに、すべてを手動で最適化したアセンブリにする必要はなく、ほとんどの時間が費やされる/最もスペースを占めるコードのセクションだけであることを認識してください。大規模なプロジェクトのすべてをアセンブリで作成することは、ほぼ間違いなく不必要に労力を浪費することになります。残りは一般的な C のままでかまいません。ただし、C バージョンが起動して実行され、プロファイルできるようになるまで、何に焦点を合わせるべきかはわかりません。推測はできますが、わかりません。
于 2009-02-26T11:53:56.953 に答える