通过#if预编译指令对DEBUG进行判断,如下: C# Code: #ifDEBUG //调试用代码 …… …… #endif 调试用代码在Debug状态下是要执行的,而在Release状态下根本执行,在生成的时候也直接忽略。
1、#if 编译预处理中的条件命令,相当于C语法中的if语句,如果if后判断为真则执行if后面的代码块 2、#ifdef 判断某个宏是否被定义,若已定义,执行随后的语句-注意只会判断该宏是否定义,而不会具体判断语句的正确性 3、#ifndef与#ifdef相反,判断某个宏是否未被定义 4、#elif若#if, #ifdef, #ifndef或前面的#...
1、#define 是宏定义 1.1宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程序时发现。宏定义不是说明或语句,在行末不必加分号...
1 #ifdef DEBUG 2 printf("device_open(%p)\n", file); 3 #endif 如果在它的前面有以下命令行#define DEBUG,则在程序运行时输出file指针的值,以便调试分析。调试完成后只需将这个define命令行删除即可,这时所有使用DEBUG作标识符的条件编译段中的printf语句不起作用,即起到“开关”一样统一控制的作用。 4. ...
有些时候我们为了验证之前写的程序是否正确,会编写一些测试代码,用于debug。这些代码在测试完成后可以删除,但是如果我们下次还需要测试同一个函数的时候,就有需要重新写一遍,很是不方便。 有了条件编译指令,我们就可以在程序的最上方#define定义一个常量,来控制是否进行测试。
所以,也提醒我们在写if语句的时候最好不要省略{}花括号,不然逻辑出错,也不会有报错,debug的时候就很困难。 4、while语句 上面讲的都是分支结构,这里开始讲循环结构。 循环结构就是重复多次的执行同一段代码。C语言有很多方式来实现循环结构。 (1)代码示例:计算1+2+...+100的结果 ...
1.13.9 Debug 菜单 按 Alt+D 可选择 Debug 菜单, 该菜单主要用于查错, 它包括以下内容,如图所示: 第 18 页 靳润昭 C 语言教程讲义 2001 年 2 月 17 日 1. Evaluate 1) Expression 要计算结果的表达式. 2) Result 显示表达式的计算结果. 3) New value 赋给新值. 2. Call stack:该项不可接触.而...
条件编译是一种根据条件判断是否编译某段代码的机制。它的语法格式为:ifdef 宏名// 需要编译的代码#endif 例如,我们可以使用条件编译来判断某个宏是否已经被定义,如果已经被定义则编译某段代码,否则忽略该段代码,如下所示:ifdef DEBUGprintf("debug information\n");#endif 文件包含 文件包含是一种...
与#ifdef类似的,可以在#if命令中使用define来判断是否已定义指定的标识符。例如: #if defined 标识符 程序段 1 #endif 1. 2. 3. 4. 与下面的标示方式意义相同。 #ifdef 标识符 程序段 1 #endif 1. 2. 3. 4. 也可使用逻辑运算符,对defined取反。例如: ...