#define CPU_FILE “ia32.h” #elif defined(IA64) #deifine CPU_FILE “ia64.h” #elif defined(AMD64) #define CPU_FILE “amd64.h” #endif #include CPU_FILE 1. 2. 3. 4. 5. 6. 7. 8. 3、取消已经定义的宏---#undef: #if defined VALUE // 检验VALUE是否被定义 ,如果被定义 #undef...
#ifdefined(VAX) && defined(UNIX) && !defined(DEBUG) #ifdef、#ifndef、#else、#endif #ifdef用于判断某个宏是否定义,和#ifndef功能正好相反,二者仅支持判断单个宏是否已经定义。 #ifdefABC// ... codes while definded ABC#elif(VERSION > 2)// ... codes while CODE_VERSION > 2#else// ... remai...
常用的条件编译 #if, #elif,#else,#endif,#ifdef、#ifndef 看名字就知道,跟我们平时用的if、elseif、else是 一样的,不同的是这里一定要记得 #endif。 #if条件 1代码1#elif条件 2代码2#else代码段 n+1#endif 意思跟我们平常写的代码一样,如果条件1成立,则编译代码1,如果条件二成立,则编译代码2,否则编译...
条件编译是C语言中预处理部分的内容,它是编译器编译代码时最先处理的部分, 条件编译里面有判断语句,比如 #if 、#else 、#elif 及 #endif 它的意思是如果宏条件符合,编译器就编译这段代码,否则,编译器就忽略这段代码而不编译,如 #define A 0//把A定义为0 #if (A > 1) printf("A > 1");//编译器...
#if defined(VAX) && defined(UNIX) && !defined(DEBUG) #ifdef、#ifndef、#else、#endif #ifdef用于判断某个宏是否定义,和#ifndef功能正好相反,二者仅支持判断单个宏是否已经定义 #ifdef ABC #ifndef ABCD_H #if、#elif、#else、#endif #if可支持同时判断多个宏的存在,与常量表达式配合使用。常用格式如下: ...
#if和#elif指令 #if指令和if很像,#if后面跟整型常量表达式,如果表达式非零,则表达式为真,此外可以按照if else的形式使用#elif 如:#if还有一种用法可以代替#ifdef,即#if defined (VAR)代替#ifdef VAR #defined是一个预处理运算符(注意不要和#define搞混),如果它的参数是用#define定义过的,返回1,否则...
#if, #elif,#else,#endif,#ifdef、#ifndef 看名字就知道,跟我们平时用的if、elseif、else是 一样的,不同的是这里一定要记得 #endif。 #if条件 1代码1#elif条件 2代码2#else代码段 n+1#endif 意思跟我们平常写的代码一样,如果条件1成立,则编译代码1,如果条件二成立,则编译代码2,否则编译代码3. ...
defined函数的作用是判断某个宏是否被定义,若该宏被定义则返回1,否则返回0,该函数经常与#if #elif #else配合使用,一般使用格式为: defined 宏名 或 defined (宏名)---(个人建议,还是加上括号比较好) 上文提到有#ifdef、#ifndef来判断宏名是否被定义,乍一看defined有点多余,其实不然,#ifdef和#ifndef仅能一次...
defined函数 defined函数的作用是判断某个宏是否被定义,若该宏被定义则返回1,否则返回0,该函数经常与#if #elif #else配合使用,一般使用格式为: defined 宏名 或 defined (宏名)---(个人建议,还是加上括号比较好) 上文提到有#ifdef、#ifndef来判断宏名是否被定义,乍一看defined有点多余,其实不然,#ifdef和#if...
defined 与#if, #elif配合使用,判断某个宏是否被定义 二、条件编译 条件编译是根据实际定义宏(某类条件)进行代码静态编译的手段。可根据表达式的值或某个特定宏是否被定义来确定编译条件。 最常见的条件编译是防止重复包含头文件的宏,形式跟下面代码类似: ...