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*"に該当するものは、「真」となるものが表示されます。
1164

被折叠的 条评论
为什么被折叠?



