宏函数里会包含条件编译吗

宏函数里能包含条件编译吗?
我的下面的代码编译不过。请问宏函数里能包含条件编译吗?
#define EXCHAN(a,b)    \
 {                                     \
 #if (FGVI == ON)           \
     a = b;                         \
 #endif                            \
 }
报错出在【#if (FGVI == ON)       \】这一行
 出错信息是:expected a macro paramater name
------解决思路----------------------
好像是不行啊
------解决思路----------------------
嗯,如果实在不行的话,只能拆成2段吧