C语言 #if……#else……的意思?

/*********************************************************************************************************
** 函数名称: OSIntSendSignal
** 功能描述: 中断中给指定任务发送信号,既使指定任务就绪
** 输 入: TaskId : 任务ID
** 输 出: 无
** 全局变量: OSTaskRuning
** 调用模块: 无
********************************************************************************************************/
void OSIntSendSignal(uint8 TaskId)
{
if (TaskId < OS_MAX_TASKS)
{
OS_ENTER_CRITICAL();
#if OS_MAX_TASKS < 9
OSTaskRuning |= OSMapTbl[TaskId];
#else
if (TaskId < 8)
{
((uint8 *)(&OSTaskRuning))[LOW_BYTE] |= OSMapTbl[TaskId];
}
else
{
((uint8 *)(&OSTaskRuning))[HIGH_BYTE] |= OSMapTbl[TaskId & 0x07];
}
#endif
OS_EXIT_CRITICAL();
}
}

C语言 #if……#else……的意思?
确切说应该是#if……#else……中#的意思?

预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是部分预处理指令:
指令 用途
# 空指令,无任何效果
#include 包含一个源代码文件
#define 定义宏#undef 取消已定义的宏#if 如果给定条件为真,则编译下面代码
#ifdef 如果宏已经定义,则编译下面代码
#ifndef 如果宏没有定义,则编译下面代码
#elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码,其实就是else if的简写
#endif 结束一个#if……#else条件编译块#error 停止编译并显示错误信息

#if……#else……
就是预编译,比如:
#if 1
。。。。
#else……

这里#if 1表示此次编译把其下的代码编译进去,如果改为#if 0,则表示此次编译把#else后面的代码编译进去,而不是#if 0下的代码。

#if TT ……#else……
TT是一个宏,这里表示如果TT这个宏定义的话,则编译#if 下的代码,否则#else下的代码。

具体可以参考:
http://blog.csdn.net/qiantuo1234/article/details/6976072
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-18
条件编译:#if...#elif...#else...#endif;

如果#if的判断语句为非0,则执行其后的语句,#elif...#else....#endif与普通判断类似;

#用来告诉编译器,如何进行编译;
第2个回答  2012-07-18
条件编译,和普通的ifelse一样,只不过是编译器编译的时候看的
第3个回答  2012-07-18
#为条件编译的标识符,当满足#if后的条件,if中的语句才能执行
第4个回答  2012-07-18
条件编译

C语言 #if……#else……的意思?
if……#else……就是预编译,比如:if 1 。。。else……这里#if 1表示此次编译把其下的代码编译进去,如果改为#if 0,则表示此次编译把#else后面的代码编译进去,而不是#if 0下的代码。if TT ……#else……TT是一个宏,这里表示如果TT这个宏定义的话,则编译#if 下的代码,否则#else下的...

C语言问题:#if #endif #else是什么意思呀~~
开头的语句,是预编译指令 也就是说,这些语句,在编译之前,就对他们进行了处理 include <stdio.h> \/\/告诉编译器,要参与编译的文件 define r 16 \/\/告诉编译器,r就是16 if r==16 \/\/告诉编译器,r==16的时候,编译下面这段,否则编译else部分的内容 void p(int a){ printf("%x",a);}...

c语言if else语句是什么?
c语言if else语句是:if和else是c语言中两个关键的函数,if意思为如果,else意思为否则,主要是用来对条件进行判断,并根据判断结果执行不同的语句,if一般在if else语句中充当判断条件,else是两个语句的连接词,从而组成if else语句。if else语句的编辑方法:首先选择一个c语言编辑器,定义一个变量hei...

c语言if语句
c语言中的if语句,一般有三种形式,其它的形式都在此三种形式基础上建立而来,活学活用嘛。1、 if……形式一般格式:if(表达式) 语句;语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:include <stdio.h>int ...

C语言中else if语句与if。 else语句分别是什么意思?我搞糊涂了
c语言中“else”是什么意思? if...else 也就是当条件先满足if,如果没有满足这个条件的情况下则去判断是否满足else 你可以理解成单项判断,也就是“或者”的关系, 当你判断条件的时候需要满足if或者else,当然这里else可以有多个。c语言中if语句后的条件是什么意思 是一种特殊的表达式——...

请问#if ..#else.. #endif和if..else有什么区别?尽量用例子说明一下,谢...
if xx \/\/判断是否宏定义了(标号,变量,表达式),\/\/如果有宏定义 #define xx 则从下一行开始执行不执行#else,\/\/否则直接跳往#else执行 else \/\/如果没宏定义 #define xx 就执行#else endif \/\/#if结束 if (xx) \/\/判断(表达式,变量)的值是否大于0,\/\/大于0就执行下一行,不执...

c语言中“else”是什么意思?
if...else 也就是当条件先满足if,如果没有满足这个条件的情况下则去判断是否满足else 你可以理解成单项判断,也就是“或者”的关系,当你判断条件的时候需要满足if或者else,当然这里else可以有多个。

c语言中else是什么意思
C语言中else是与if一起使用的一个关键字,表示如果满足if条件则不执行else,否则执行else。下面通过具体的实例来说明else的使用。int i=4;if(i>5) \/\/ 如果i>5,执行i=0{ i = 0;}else \/\/ 如果i<=5,执行i=1{ i = 1;}\/\/ 上面的程序中,由于i=4<5,不满足if的条件,所...

c语言中else if(表达式)是什么意思,怎么用的?
if — else if是当判断到有一个条件成立时,则后面的else if条件语句就不判断了,这样就节省了程序运行的时间 多个if语句是所有if条件语句都要判断,即使有满足条件的if语句后面的if条件语句也要判断多个if条件之间是并列关系

请问下面这段程序中#if #else #endif 是什么意思? 一般怎么使用?
意思就是:如果 条件1 成立,那么 执行1 否则 执行2 结束.--- 对于代码来说,是从上到下执行的.执行过程中,程序判断条件成立与否,成立就执行那么(then)下面的语句,不成立就跳过,执行else下面的.当然,这是最简单的.if ... else...结构可以很复杂,主要是条件可以很多.比如:if 条件1 then 执行1 ...

相似回答