共有オブジェクトは、主番号ファイル接尾辞を含む命名規約に従っています (「命名規約」を参照)。この共有オブジェクト内では、1 つまたは複数のバージョン定義を作成できます。各バージョン定義は、次のいずれかに分類できます。
業界標準インタフェースへ準拠したインタフェースを定義する (たとえば、「System V Application Binary Interface」)
ベンダー特定の「公開」インタフェースを定義する
ベンダー特定の「専用」インタフェースを定義する
オブジェクトの内部実装に対する変更 (ベンダー特定) を定義する
次の「バージョン定義」命名規約は、定義がどの分類に属するのかを示すために役立ちます。
最初の 3 つの分類は、インタフェース定義を示します。これらの定義は、インタフェースを構成する大域シンボル名とバージョン定義名の関連付けからなります (「バージョン定義の作成」を参照)。共有オブジェクト内のインタフェースの変更は、通常「副改訂」と呼ばれます。このため、この種類のバージョン定義には、「副」バージョン番号の接尾辞が付きます。これは、ファイル名の「主」バージョン番号の接尾辞の流儀に基づくものです。
最後の分類は、オブジェクト内の変更を示します。この定義は、名札として機能するバージョン定義からなり、関連するシンボル名はありません。この定義は、ウィークバージョン定義と呼ばれます (「ウィークバージョン定義の作成」を参照)。共有オブジェクト内の実装状態の変更は、通常、「マイクロ改訂」と呼ばれます。したがって、このタイプのバージョン定義には内部変更が適用されている以前の「副」番号と同様に、「マイクロ」バージョン番号が接尾辞として付きます。
業界標準インタフェースは、この標準を反映するバージョン定義名を使用しなければなりません。ベンダーインタフェースは、そのベンダー固有のバージョン定義名を使用する必要があります (企業の株式銘柄のシンボルが適していいることがあります)。
私用バージョン定義は、使用方法が制限されているかまたは保証されていないシンボルを示します。「private」という語を明確に示すべきです。
バージョン定義を行なうと、関連するバージョンシンボル名が必ず作成されます。したがって、一意名と「副」および「マイクロ」の接尾辞規約を使用すると、構築中のオブジェクト内でシンボルが衝突する可能性を減らすことができます。
次の定義例は、これらの命名規約の使用を示しています。
「System V Application Binary Interface」標準インタフェースを定義します。
SunSoft 公開インタフェースを定義します。
SunSoft 私用インタフェースを定義します。
SunSoft 内部実装の変更を示します。