条件编译命令常用的有以下形式:
#define DEBUG 1
#if defined (DEBUG) || defined (_DEBUG) || defined (RETAILLOG)
#define TOUCH_FUNCTION_EXIT() RETAILMSG(TOUCHDEBUG, (TEXT("[TSP]--%s\r\n"), _T(__FUNCTION__)))
//RETAILMSG(1, (TEXT("--bastense_touch --%s\r\n"), __WFUNCTION__))
//RETAILMSG(TOUCHDEBUG, (TEXT("[TSP]++%s\r\n"), _T(__FUNCTION__)));
#define PUBLIC
这种定义的用处是宏开关,比方说后面可以有这之类的代码:
#ifdef PUBLIC
****(某些需要编译的代码)
#else
*****(另外一些需要编译的代码)
#endif
或理解成:
PUBLIC的宏定义#define PUBLIC相当于#define PUBLIC extern
- #ifdef 标识符
程序段1
#else
程序段2
#endif
它的作用是当所指定的标识符已经被#define命令定义过,则在程序编译阶段只编译程序段1,否则编译程序段2。#endif用来限定#ifdef命令的范围。其中#else部分也可以没有。 - #if 表达式
程序段1
#else
程序段2
#endif
它的作用是当指定的表达式值为真(非零)时就编译程序段1,否则编译程序段2。可以事先给定一定条件,使程序在不同的条件下执行不同的功能。
#define DEBUG 1
#if defined (DEBUG) || defined (_DEBUG) || defined (RETAILLOG)
#define TS_DBGON 0 //
#define DEBUG_FLAG_HLIN 0 //
#define TSPBUG 0 //
#define TOUCHDEBUG 0 //
#define TOUCH_FUNCTION_ENTRY() RETAILMSG(TOUCHDEBUG, (TEXT("[TSP]++%s\r\n"), _T(__FUNCTION__)))
//RETAILMSG(1, (TEXT("++bastense_touch ++%s\r\n"), __WFUNCTION__))
//定义不能换行 /
#define DEBUG_FLAG_HLIN 0 //
#define TSPBUG 0 //
#define TOUCHDEBUG 0 //
#define TOUCH_FUNCTION_ENTRY() RETAILMSG(TOUCHDEBUG, (TEXT("[TSP]++%s\r\n"), _T(__FUNCTION__)))
//RETAILMSG(1, (TEXT("++bastense_touch ++%s\r\n"), __WFUNCTION__))
//定义不能换行 /
#define TOUCH_FUNCTION_EXIT() RETAILMSG(TOUCHDEBUG, (TEXT("[TSP]--%s\r\n"), _T(__FUNCTION__)))
//RETAILMSG(1, (TEXT("--bastense_touch --%s\r\n"), __WFUNCTION__))
//RETAILMSG(TOUCHDEBUG, (TEXT("[TSP]++%s\r\n"), _T(__FUNCTION__)));
#define PUBLIC
这种定义的用处是宏开关,比方说后面可以有这之类的代码:
#ifdef PUBLIC
****(某些需要编译的代码)
#else
*****(另外一些需要编译的代码)
#endif
或理解成:
PUBLIC的宏定义#define PUBLIC相当于#define PUBLIC extern
末完。。。