前: Simple Changes, 上: Change Logs


6.4.4 条件文の履歴

Cのプログラムはしばしばコンパイル時の#if条件文を含む。たくさんの 変更は条件文だ。ときどき条件文に全体的に含まれている新しい定義を加える。 変更履歴にその変更が適用されるのがどれか条件を示すことは非常に役に立つ。

条件付きの変更を示す我々の慣習は条件の名前の周りに角括弧を使うことだ。

ここで、条件付きだが、それに付随する関数や実体の名前を持たない変更を記述 する、簡単な例を挙げる。

     * xterm.c [SOLARIS2]: Include string.h.

ここで全部条件付きである新しい定義を記述する項目を挙げる。 FRAME_WINDOW_Pというマクロに対するこの新しい定義は HAVE_X_WINDOWSが定義されているときだけ使われる。

     * frame.h [HAVE_X_WINDOWS] (FRAME_WINDOW_P): Macro defined.

ここに、全体として定義は無条件だが、変更自体は`#ifdef HAVE_LIBNCURSES'条件に含まれる、init_displayという関数内での変更 に対する項目を挙げる。

     * dispnew.c (init_display) [HAVE_LIBNCURSES]: If X, call tgetent.

ここであるマクロが定義されないときだけ影響を持つ変更の項目を挙げる。

     (gethostname) [!HAVE_SOCKETS]: Replace with winsock version.