HPUXとSunSolarisで実行できるCプログラムを作成する必要があります。両方のマシンで実行可能ファイルをビルドする必要がありますか?実行可能ファイルがHPおよびSolarisマシンで確実に実行されるように、標準のコンパイラ/リンカーを使用してLinux(centosまたはubuntuなど)でビルドする方法はありますか?
1 に答える
HP / UXとSolarisはどちらも異なるCPUタイプで実行されるため、「どのハードウェアをサポートする必要があるか」(「どのOSで実行する必要があるか」を超えて)になります。
HP / UXファースト:
- HP / UXは、32ビットと64ビットの両方のアプリケーションでHP独自の古いPA-RISCCPUアーキテクチャをサポートします
- HP / UXも(主に最近)IntelItaniumCPUで動作します
私が特によく知らないある種のバイナリ互換性/シムレイヤー(Aires)がありますが、ある種のPA-RISC用にコンパイルすることは可能であり、その結果はItaniumベースのHP/UXマシンで実行できます。つまり、HP / UXの場合、アプリケーションを古い32ビットPA-RISC、後の64ビットPA-RISC、またはItaniumのいずれで実行する必要があるかを判断し、そのターゲットプラットフォームまたは適切な方法でコンパイルする必要があります。構成されたクロスコンパイルセットアップ。
Solaris:
- SolarisはSPARCプロセッサをサポートします:
32ビットモード(カーネルの場合、Solaris 9まで)および
64ビットモード(Solaris 7以降、およびSolaris 10から必須のカーネルコードの場合) - Solarisは、32ビットモードと64ビットモードの両方のIntel / AMDプロセッサもサポートしています(64ビットにはSolaris 10以降が必要です)
SPARCCPUとx86CPUの両方で、カーネル自体が64ビットを実行している場合でもSolarisは32ビットアプリケーションを実行できますが、x86でSPARCバイナリを実行できるエミュレーション/シムレイヤーはありません。
したがって、Solarisでは、アプリケーションをSPARCまたはx86、あるいはその両方で実行する必要があるかどうかを判断し、次に32ビットまたは64ビット用にコンパイルする必要があるかどうかを判断する必要があります。
対象とするCPUタイプに関係なく、SolarisまたはHP / UXのいずれかのクロスコンパイル設定を作成することは、環境のサイズのために困難です(どちらも正確に組み込まれたOSではありません...)。多くの場合、古いPA-RISC / ItaniumまたはSPARCハードウェアの購入を開始し、それぞれHP / UX11.xとSolaris10をインストールして、ネイティブにコンパイルする方が、費用対効果が高く、迅速です。また、ベンダーコンパイラを使用するメリットもあります。これは、ItaniumとSPARCの両方で、GCCよりも高速なコードを生成します。