アマプログラマーの独り言


#IFディレクティブ

2001年12月06日
「実行時にCPUに」ではなく、コンパイル時にコンパイラに指示を与える構文をディレクテブという。
C言語でよく使うのが、
#include
#define
#if
などだ。
ディレクティブには必ず頭に「#」が付く。

俺はこのディレクティブはVBには存在しないと思っていた。
インクルードは出来ないし、defineの代わりにconstがあるのだと思っていた。



違った。
また違った。
騙された。
「誰に?」とか訊かれても困るが、俺は確かにその「先入観」に騙されていた。

#const
#If
#Else
#EndIf

こいつらだ。
#constは定義文。
#Ifは見たまんま。
しかし#constで定義したものは、実行時には呼び出せない
あくまでコンパイラに指示を与えるのみであり、#Ifとセットでなければなんの意味も持たない。
今までに使っている人は見たことない。
たぶん皆知ってはいるが、マスクだけかけるならコメントアウトする。
C言語での#Ifや#defineはマクロや、OS毎にコンパイル方法を変えるために使うのが一般的。
しかしVBでマクロが使えるか?
むしろVBがマクロだ。
コンパイル方法もなにもVBにそんな低級言語的な要素を求める方がおかしい。


無理して使ってみたが・・・。
なくても誰も困らない機能の1つだった。