命令セットで実行される異なるプロセッサを自動的に利用するものをコンパイルすることは可能ですか?異なるプロセッサを自動的に使用するものをコンパイルすることは可能ですか?
理想的には、gccとcではコード内で明示的に行うことはありません。
ウィルムットン(単独)ですか?
命令セットで実行される異なるプロセッサを自動的に利用するものをコンパイルすることは可能ですか?異なるプロセッサを自動的に使用するものをコンパイルすることは可能ですか?
理想的には、gccとcではコード内で明示的に行うことはありません。
ウィルムットン(単独)ですか?
最近のgccのバージョンは-march=native
であり、コンパイラを実行しているマシンで使用可能なすべての命令セット拡張を使用するコードが生成されますが、実行時に拡張が利用可能であることを検出するバイナリは生成されません。使用可能な拡張機能を検出し、それに基づいて異なるコードパスを使用するコードを記述することは可能ですが(これはゲームエンジンのようなパフォーマンス重視のコードの一般的な手法です)、私はこの機能を自動的に生成するツールコードと異なるバージョンのコードが含まれています。この:あなたは(x86とARMのような)複数の異なるアーキテクチャ上で実行できるバイナリを作成する場合は
は、あなたがファットバイナリ、またはAppleのマーケティング用語で、ユニバーサルバイナリと呼ばれるものを作成する必要がありますアーキテクチャごとにコードをコンパイルし、異なるアーキテクチャのバイナリを同じファイルにリンクする必要があります。これは、オペレーティングシステムが適切なアーキテクチャのセグメントのみをロードする必要があることを知る必要があるため、fatバイナリをサポートするオペレーティングシステムでのみ機能します。
はい、そのJavaと呼ばれます。 = P – Andres