今天看到一段程序里有这样一段
#if ... then
   ...
#else
   ..
#end if在前面加#是起什么作用的呀

解决方案 »

  1.   

    说明#If...Then...#Else 指令的作用与 If...Then...Else 语句相同,其差异在于 #If、#Else、#ElseIf,及 #End If 指令没有单独成行的形式,也就是说,在指令所在的那一行,不能有其他代码出现。条件编译通常用来编译不同平台上的同一个程序。也可以用来避免调试程序代码出现在可执行程序中。条件编译时被排除的程序代码在最后的可执行文件中被完全略去,所以不会对程序的大小或功能有任何影响。无论结果如何,都要计算所有表达式。所以,在表达式中用到的所有常数都必须加以定义— 任何未定义的常数都会被当作 Empty 来计算取值。注意   Option Compare 语句不会影响 #If 及 #ElseIf 语句中的表达式。条件编译指令中的表达式总是用 Option Compare Text 计算值。
      

  2.   

    这不是 VB 代码。C 中用这些代码进行预编译的设置。
      

  3.   

    不好意思,又发现一个问题
    定义变量时会在值的前,后,前后都有“&”符号,这起什么作用,如
    Private Const REG_SZ = 1&
      

  4.   

    #if 是条件编译。
    &是指定变量的类型。有很多的特定的字符来表示变量的类型。
    自己查一下MSDN就明白了。
      

  5.   

    & 强制数据类型为长整形。Private Const REG_SZ = 1& =〉Private Const REG_SZ As Long = 1