Solaris 動的トレースガイド

サイズ接頭辞

printf(3C) を使用する ANSI-C プログラムでは、変換引数のサイズと型を指定するため、必ずサイズ接頭辞を使用しなければなりません。D プログラムでは、サイズ接頭辞は不要です。これは、D コンパイラが、printf() 呼び出しごとに変換引数とサイズと型を自動的に指定するためです。D プログラムでも、C との互換性を確保するため、サイズ接頭辞を使用することは可能ですが、なるべく使用しないでください。サイズ接頭辞を使用すると、派生型を使用するとき、コードが特定のデータモデルに結合されてしまいます。たとえば、typedef を、データモデルに基づいて別の整数基本型として再定義する場合、最初のデータモデルと再定義後のデータモデルの両方に対応した C 変換を単独で使用するには、2 つの基本型が明らかになっていなければなりません。さらに、キャスト式を追加するか、複数の書式設定文字列を定義する必要があります。D コンパイラでは、サイズ接頭辞の省略が可能で、引数のサイズが自動的に特定されるので、この問題は起こりません。

サイズ接頭辞は、フラグ、幅、精度の指定子と書式変換名の間 (書式変換名の直前) に挿入します。サイズ接頭辞には、以下のものがあります。