[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