6.2 ソフトウェア開発

すべての64ビットアーキテクチャで、64ビットオブジェクトの開発がサポートされています。32ビットコンパイル機能のサポートレベルは、アーキテクチャによって異なります。32ビットコンパイル機能は、GCC (GNU Compiler Collection)やbinutilsによるツールチェーンの各種実装オプションになっています。Binutilsには、アセンブラasとリンカーldが含まれています。

biarchコンパイラ

32ビットと64ビットのオブジェクトはどちらもbiarch開発ツールチェーンで生成できます。ほぼすべてのプラットフォームにおいて、デフォルトでは64ビットオブジェクトのコンパイルが実行されます。32ビットオブジェクトは、特殊なフラグを使用すれば生成できます。この特殊なフラグは、GCCでは-32です。binutilsのフラグはアーキテクチャによって異なりますが、GCCは正しいフラグをリンカーやアセンブラに転送します。現在では、amd64 (x86とamd64の開発をサポート)、System z、およびppc64用のbiarch開発ツールチェーンが存在します。通常、32ビットオブジェクトはppc64プラットフォームで作成されます。-m64フラグは、64ビットオブジェクトの生成に使用する必要があります。

未サポート

SUSE Linux Enterprise Serverでは、すべてのプラットフォームで32ビットソフトウェアを直接開発できるとは限りません。ia64でx86用のアプリケーションを開発するには、対応する32ビットバージョンのSUSE Linux Enterprise Serverを使用します。

すべてのヘッダファイルは、アーキテクチャに依存しない形式で作成する必要があります。インストール済みの32ビットと64ビットのライブラリには、インストール済みのヘッダファイルに対応するAPI (アプリケーションプログラミングインタフェース)が必要です。標準のSUSE Linux Enterprise Server環境は、この原則に従って設計されています。ライブラリを手動で更新した場合は、各自でAPIの問題を解決してください。