ARMネイティブアプリケーションをx86プラットフォームでコンパイルする方法を研究していますが、いくつかの問題を抱えている2つのトピック(Houdiniバイナリトランスレータとポーティング)に出会いました。
これらは私の質問ですか? -バイナリ変換と移植の違いは何ですか -ARMネイティブアプリケーションをx86にコンパイルすることの2つの部分は両方とも
事前に助けてくれてありがとう
回答:
回答№1は4バイナリ変換と移植の違いは何ですか
バイナリ変換では、アプリにARM NDKバイナリが含まれ、デバイスはARM命令を使用してx86に変換します libhoudini
。 NDKバイナリの数が少ないため、APKファイルは小さくなります。ただし、結果の変換は、アプリがARMのものに合わせてx86 NDKバイナリを出荷した場合よりも遅くなります。
移植では、x86 NDKバイナリとARMバイナリを明示的に出荷します。これにより、APKファイルが大きくなりますが、x86デバイスでのパフォーマンスが向上します libhoudini
.
いずれの場合も、ARMデバイスだけでなく、x86デバイスでもコードをテストする必要があります。また、64ビットのARMおよびx86 CPUも使用できるようになったことを忘れないでください。
回答№2の場合は-1
まず、Houdiniについて説明します。 基本的に、Houdiniはx86、x86_32アーキテクチャの親切なラッパーです。 armライブラリをx86 libに変換します。
armアプリケーションをx86に移植すると、アプリケーションのパフォーマンスが低下し、デバイスはCPUグラフィックスパフォーマンスと同様にパフォーマンスが向上します。
Houdiniはwrapperで、システムのアプリケーションにx86 libが存在しない場合、armをx86に変換します。
よろしく、 ディーパック