非编译部分不会存在于最后的程序或库里面,而if 条件语句的所有不同条件码块的代码无论执行与否都会存在代码里面,
对以后CPU工作的时候有影响,两种方式CPU运行的时间可能是不同的。
得到的结果是相同的,但是如果 OS_CRITICAL_METHOD != 3,这样就不用编译下面的指令,这样就节约CPU运行的时间了。
条件编译一般是为了编译不同的版本,(如普通版,专业版什么的)..
不同的版本对应不同的行为,要想在编译时就确定,可以用条件编译#If
如果想要运行时确定行为,可以用If
在工程对话框中可以定义编译时的常量.
条件编译通常用来编译不同平台上的同一个程序。也可以用来避免调试程序代码出现在可执行程序中。条件编译时被排除的程序代码在最后的可执行文件中被完全略去,所以不会对程序的大小或功能有任何影响。
比如调试时的一些语句。省得你到处去代码。只要设置一个开关变量就行了