[C++] 112 FLTK : 条件付きコンパイル #ifdef

[M1 Mac, Big Sur 11.6.7, clang 13.0.0, NO IDE]

通常モードと開発モードによってGUIの内容を変えるため条件付きコンパイルを設定しました。

#ifdefは様々な公開ソースコードで目にする機会が多く、前から使ってみたいと思っていました。共同開発ではメンテナンス性に影響するとのことであまり好まれない現場もあるようです。

これまでFl_Inputなどに隠しコマンドを設定してウィンドウを出現させたりしていましたが、コードの可読性が損なわれるので控えるようにします。

#ifdef DEV
    static Fl_Menu_Item	items[] = {
    { "設定", 0, 0, 0, FL_SUBMENU },
    { "履歴消去", 0, deleteHistory, 0, 0 },
    { "開発モード", 0, showSubWindow, 0, 0 },
    { 0 },
    { 0 }
    };
#else
    static Fl_Menu_Item	items[] = {
    { "設定", 0, 0, 0, FL_SUBMENU },
    { "履歴消去", 0, deleteHistory, 0, 0 },
    { 0 },
    { 0 }
    };
#endif
--------------------------------------------------
#ifdef DEV
    window2 = new Fl_Window(750,50,360,480,"出力用");
    window2->color(fl_rgb_color(238,238,238));

    // output
    output_line2 = new Fl_Multiline_Output(0,0,360,480,"");
    output_line2->textsize(12);
    
    window2->end();
#else
#endif
# オプション設定 -D+マクロ名
CPPFLAGS = -std=c++17 -DDEV