是否真的有必要明确定义" undefine"即使定义被注释掉了?

时间:2014-08-25 22:11:19

标签: c# conditional-compilation undef

我在执行此代码时遇到了一些问题:

#if TRACE
            dbgLog = new LogInfo( "PlatypusCE" );
#endif   

即使“TRACE”在一大堆一般性评论之后被评论出来,这种情况仍在发生:

//#define TRACE

我在下面添加了它:

#undef TRACE

......所以它是:

//#define TRACE
#undef TRACE

...它可以按预期工作(“#if TRACE”代码不会执行)。

是否真的有必要取消定义尚未定义的内容(已注释掉)?这似乎很奇怪。

2 个答案:

答案 0 :(得分:3)

默认情况下,在配置文件Debug和Release中,Visual Studio将定义TRACE常量。您可以在项目设置中更改此行为(在Build选项卡中)。 DEBUG常量类似,默认情况下在调试配置文件中处于活动状态(但不是发布)。

答案 1 :(得分:2)

TRACE是默认为调试版本定义的两个常量之一:

TRACE

相关问题