#define プリプロセッサー・ディレクティブにあるのと同様にマクロ name を定義します。definition は、 name に割り当てるオプションの定義または値です。
また、マクロ名がすでに -D コンパイラー・オプションによって定義されていない場合は、#define プリプロセッサー・ディレクティブを使用してソース・プログラムのマクロ名を定義することができます。
-Dname= は、 #define name と同等です。
-Dname は、#define name 1 と同等です。(これがデフォルトです。)
-D オプションによってすでに定義されているマクロ名を定義するのに #define ディレクティブを使用すると、エラー状態になります。
プログラムの移植性および標準への適合性を援助するために、オペレーティング・システムは、 -D オプションで設定することができるマクロ名を参照するヘッダー・ファイルをいくつか提供します。これらのヘッダー・ファイルのほとんどは、 /usr/include ディレクトリーまたは /usr/include/sys ディレクトリーのいずれかに入っています。
ソース・ファイルに対する正しいマクロを確実に定義するには、適切なマクロ名を指定して -D オプションを使用してください。
-Uname オプションは、-D オプションによって定義されたマクロを未定義にするために使用され、その優先順位は -Dname オプションよりも上です。
これは、ソース・ファイルの先頭に #define COUNT 100 があることと同等です。xlc myprogram.c -DCOUNT=100