global 指定されたマクロとモジュールローカルなマクロの名前がかぶったときの挙動
#define global A 111 #module #define A 222 #deffunc f mes A ; >> 111 return #global mes A ; >> 111 f
5 行目の A ではモジュールローカルの方の 222 を優先してほしいなあー。
#uselib "USER32.DLL" #func global MessageBoxA "MessageBoxA" sptr,sptr,sptr,sptr #module #uselib "USER32.DLL" #func MessageBoxA "MessageBoxA" sptr,sptr,sptr,sptr #global
とすると以下のコンパイルエラーに。
#HSP script preprocessor ver3.1 / onion software 1997-2007(c) #Use file [hspdef.as] #Error:symbol in use in line 6 [hsptmp] #Fatal error reported.
これもエラーを起こさずモジュール内ではモジュールローカルの方の関数を優先する動作の方が望ましいと思う。