私自身のコンピュータにはIntel Core I5があります。しかし、ARMやPowerPCなどのRISC ISAを使用すると、アセンブリの外観がわかります。gcc -marchを使用して他のISAにコンパイルすることはできます
他のマイクロアーキテクチャのISAを使用してCコードをアセンブリにコンパイルできますか?
私自身のコンピュータにはIntel Core I5があります。しかし、ARMやPowerPCなどのRISC ISAを使用すると、アセンブリの外観がわかります。gcc -marchを使用して他のISAにコンパイルすることはできます
他のマイクロアーキテクチャのISAを使用してCコードをアセンブリにコンパイルできますか?
クロスコンパイラをビルド(またはインストール)する必要があります。 GCCの特定のビルドは、1つのCPU "ファミリ"のみを対象としています。例えば、x86とx86_64を対象とするGCCコンパイラを構築することができます。しかし、私が知る限り、x86とPPCの両方を対象とするGCCコンパイラを構築することはできません。
クロスコンパイラと呼ばれるx86でPPCアセンブリを出力するコンパイラを実行します。あなたのディストリビューションのパッケージリポジトリでそれらを探すか、crossdevのようなツールを使って自分自身を作る。
No. -march
は、コンパイラが対象とするサブアーキテクチャ(たとえば、すべてのCPUで使用できない機能を使用するかどうか)にのみ影響します。これは、コンパイラーが異なるアーキテクチャー用のコードを構築することを許可しません。
あなたが探しているのは、クロスコンパイラです.GCCはx86用にコンパイルされていますが、PowerPC/ARM/MIPS /その他のコードにコンパイルされています。クロスコンパイラの構築は複雑なプロセスですが、オンラインで入手できる手順があります。
あなたはどのOSを使用しているのかは言いませんが、Ubuntu(1つ)はレポにARMクロスコンパイラパッケージを持っています。 – ams
また、いくつかのアーキテクチャのクロスツールチェーンを無料でダウンロードすることもできます:http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ – ams