haxe中#if macro代表什么意思

在看haxe的UI库StablexUI时,UIBuilder.hx中出现了#if macro和#if !macro的条件编译。先按经验理解为“当haxe支持宏时”,但看代码逻辑又发现这个解释与代码不符,想了下猜测是“当haxe进行预编译(宏处理)阶段有效”。就像C++先做预编译(宏处理),再执行编译过程那样,#if macro的代码在haxe做预编译(宏处理)时生效,#if !macro的代码则是在预编译(宏处理)过后的阶段才真正有效。

 

haxe的宏功能非常强大,能在编译期间执行haxe代码,同时在理解时也增加了复杂度。

你可能感兴趣的:(mac)