你新建项目时,就有给你选择,你要建立WINDOWS应用程序还是控制台项目, 何必要在编译阶段去选择呢. #define DEBUG #define VC_V7 using System; public class MyClass { public static void Main() { #if (DEBUG && !VC_V7) Console.WriteLine("DEBUG is defined"); #elif (!DEBUG && VC_V7) Console.WriteLine("VC_V7 is defined"); #elif (DEBUG && VC_V7) Console.WriteLine("DEBUG and VC_V7 are defined"); #else Console.WriteLine("DEBUG and VC_V7 are not defined"); #endif } }MSDN上面的一个例子.
何必要在编译阶段去选择呢.
#define DEBUG
#define VC_V7
using System;
public class MyClass
{
public static void Main()
{ #if (DEBUG && !VC_V7)
Console.WriteLine("DEBUG is defined");
#elif (!DEBUG && VC_V7)
Console.WriteLine("VC_V7 is defined");
#elif (DEBUG && VC_V7)
Console.WriteLine("DEBUG and VC_V7 are defined");
#else
Console.WriteLine("DEBUG and VC_V7 are not defined");
#endif
}
}MSDN上面的一个例子.
C#的预编译指令:#if
#else
#elif
#endif
#define
#undef
#warning 工程类型建议新建工程时设置好。
#error
#line
#region
#endregion
//Debug 版要执行的代码
#endif
我问的不是这个。VC++编译器在源代码处理时会根据情况自动写入#define _DEBUG.C#有没有类似的机制,我想用这个机制,而不是自己手动写,文件一多受不了。