rmifdef 使用方法
【機能概要】
無効なifdef文の削除を行います。
【実行形式】 rmifdef [-nvT] [-l list] [-d list] file 【パラメータ】 -nvT: n 行番号を付加します。 v 表示を逆にします(削除するものを表示します)。 T 入力ファイルを単なるテキストデータとみなします。 -l list listで指定されたifdef名のもので、「真」となるものを選択します。 これを指定した場合、指定対象外のif[n]def文は全て出力されます。 (-lはleaveの意です。) listは次の形式になります。 string[,string...] stringには次のものを指定します。 ? 任意の1文字と一致 * 任意の文字列と一致 x 0-9,a-z,A-Z,'_'のいずれか -d list listで指定されたif[n]def名のもので、「偽」となるものを選択します。 これを指定した場合、指定対象外のif[n]def文は全て出力されます。 file 対象ファイル名
【補足説明】 (1)制限事項 ・#elifステートメントには対応できません。 ・"#if[n]def 識別子[/*…*/または//…]"という形式以外には対応できません。 例えば、"# ifdef ABC"というものには対応できません。 ・ソースは、コンパイルOKになっている必要があります。(2)オプションを何も指定しない場合には、結果は以下のようになります。 #ifdef NAME statement1 #else statement2 ... この文が表示されます。 #endif #ifndef NAME statement1 ... この文が表示されます。 #else statement2 #endif (2)"-l NAME1,NAME2"と指定した場合には、次のようになります。 #ifdef NAME1 statement1 ... この文が表示されます。 #else statement2 #endif #ifdef NAME2 statement1 ... この文が表示されます。 #else statement2 #endif #ifdef NAME1 statement1 ... この文が表示されます。 #else #ifdef NAME2 statement2 ... これは、表示されません。 #endif #endif #ifdef NAME3 ... 以下は全て表示されます。 statement1 #else statement2 #endif (3)"-d NAME1"と指定した場合には、次のようになります。 #ifdef NAME1 statement1 #else statement2 ... この文が表示されます。 #endif (4)"-l NAME1 -d NAME*"と指定した場合には、NAME1は「真」となるものが表示され、それ以外の"NAME*"に該当するものは、「偽」となるものが表示されます。 (5)"-d NAME1 -l NAME*"と指定した場合には、NAME1は「偽」となるものが表示され、それ以外の"NAME*"に該当するものは、「真」となるものが表示されます。