C++ プログラムを中間コードにコンパイルしたいと考えています。次に、現在のプロセッサのすべてのリソースを使用して中間コードをコンパイルします。
最初のステップは、最適化 (-O2) を使用して C++ プログラムをコンパイルし、リンカを実行して、ほとんどのコンパイル手順を実行することです。この手順は、オペレーティング システムやアーキテクチャに依存しない必要があります。
2 番目のステップでは、最初のステップの結果を、元のソース コードを使用せずに、現在のコンピューターのオペレーティング システムとプロセッサ用に、プロセッサの最適化と特別な命令 (-march=native) を使用してコンパイルします。2 番目のステップは高速で、最小限のソフトウェア要件で行う必要があります。
私はそれを行うことができますか?どうやってするの?
編集:
各プラットフォームとオペレーティングシステムのコンパイルを配布するのではなく、元のソースコードなしで、プロセッサのすべてのリソースを使用できるプラットフォームに依存しないプログラムを配布したいので、やりたいです。2 番目のステップが迅速かつ簡単であればよいでしょう。
同じアーキテクチャのプロセッサでも、機能が異なる場合があります。X86 プロセッサには SSE1、SSE2 などがありますが、それらは 32 ビットまたは 64 ビットです。一般的な X86 用にコンパイルすると、SSE の最適化が不足します。何年も経つと、プロセッサに新しい機能が追加され、新しいプロセッサ用にプログラムをコンパイルする必要があります。