C/ObjC/C++/Swift/C#/Rust都支持宏。值得注意的是:
- Rust并没有C语言的#define/#if之类的宏,而是通过
#[cfg]属性来实现feature和条件编译。
形如:
#[cfg(target_os = "linux")]代表target_os是linux时才编译;
#[cfg(feature = "debug")]表示开了debug功能才会编译。
当然,上面的都是雕虫小技,Rust还提供更复杂的Macros功能,这里不细讲。 - Swift和C#都提供类似C语言#if的条件编译,但不支持#ifdef指令。
