在#iffalse块中查看预处理器代码的评估
本文关键字:处理器 代码 评估 预处理 #iffalse | 更新日期: 2023-09-27 18:00:02
我通过MonoDevelop 4.0.1(Unity的当前版本)在C#中工作,并达到了一种看似怪异的语言。
这是我的整个.cs文件:
#if false
#define foo
#endif
class myClass {
int member;
}
#if false
#error this error does not trigger
#undef foo
// "cannot define or undefine preprocessor symbols after first token in file
#endif
我理解在声明令牌后不使用#undef
处理预处理器符号的规则,但在这种情况下,我不是#undef
,因为#undef
在#if false
内部。
这个例子并不完全是人为的,它试图通过这里描述的方法获得一个在C#和C++中编译的源文件。