2

ARMv8 でパッケージをコンパイルして ARMv7 で実行することはできますか?

私は(まだ)建物全体の経験がありません。RAMが非常に限られているため、Odroid C1 +がicinga2のコンパイルに失敗したため、この質問に至りました。C2 には 2 GB の RAM が搭載されており、このタスクではおそらくより優れたパフォーマンスを発揮します。

しかし、C1+ (ARMv7) で C2 (ARMv8) コンパイル済みパッケージを実行できますか?

4

1 に答える 1

3

ARMv8 でパッケージをコンパイルして ARMv7 で実行することはできますか?

これはクロスコンパイルと呼ばれ、ARM コードを生成する通常の方法です。最近では、ARM バイナリ用のほとんどのビルド マシンはおそらく x86_64 です。しかし、ARMv8 で実行されるプラットフォーム ARMv7 をターゲットとするコンパイラがあれば、問題はないと思います。

私は(まだ)建物全体の経験がありません。RAMが非常に限られているため、Odroid C1 +がicinga2のコンパイルに失敗したため、この質問に至りました。C2 には 2 GB の RAM が搭載されており、このタスクではおそらくより優れたパフォーマンスを発揮します。

コンパイルがはるかに優れていることを知っていますか? エネルギー効率の高い ARM ではなく、高度にパイプライン化されたマルチコア CISC CPU を備えた、4 GB を超える RAM、大規模な RAM 帯域幅、およびはるかに高いストレージ帯域幅を備えた適切な PC。

実際、組み込みシステム用のソフトウェアは通常、クロスコンパイラを備えた非組み込みコンピュータ上で構築されます。PC で C1+ 用に何かをクロスコンパイルするには、さまざまな方法があります。一般的に、Linux ディストリビューション (使用している場合) がパッケージをクロスコンパイルする方法を使用することをお勧めします。

ARMv7 は ARMv8 とは異なるプラットフォームであるため、v8 で ARMv7 からソフトウェアをコンパイルしても、x86 で ARMv7 用のソフトウェアをコンパイルするよりも利点はありません。とにかく、クロスコンパイルツールチェーンが必要です。

于 2016-05-07T22:22:57.483 に答える