ifndef define endif作用

ifndef define endif作用,第1张

#ifndef、#define、#endif为C语言的3条预处理语句,主要用作条件编译。先介绍一下条件编译:

一般情况下,源代码文件中的所有行都参加编译,但有时需要指定一部分代码在某个条件下才被编译,这就叫做条件编译。

条件编译发生在预处理阶段,在C中,主要通过#if、#elif、#else、#ifdef、#ifndef、#endif来给一段代码附加上编译条件,然后预处理器收集满足条件的可以进行编译的代码,这样经过预处理,不满足条件的代码就不会被编译。

相关内容:

比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。 

还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。

编译器编译Stock.cpp的时候,先根据头文件#include "b.h "去编译b.h这个问题,再根据b.h里面的#include "d.h ",去编译d.h的这个文件,这样就把d.h里面的class D编译了。

然后再根据Stock.cpp的第二句#include "c.h ",去编译c.h,最终还是会找到的d.h里面的class D,但是class D之前已经编译过了,所以就会报重定义错误。

加上ifndef/define/endif,就可以防止这种重定义错误。

endif是什么意思啊? 1 end if 是if语句的结束,所有if条件在这里结束.

2 exit sub是指,exit sub语句上面的语句到此结束,下面的语句重新开始.

3 END SUB则是指整个过程到此结束,比如单击过程等.

#if #endif 是什么意思啊?

#if #endif 为C/C++预编译命令之一,称为条件编译。

1、形式:

#if condition代码段。#endif

其中condition中必须是常量,或者由常量组成的表达式,表达式必须为比较或者逻辑运算。

如果condition值为真,那么代码段部分将被编译,否则将不被编译。

2、举例:

#define INC_CODE 1#if INC_CODEint func(){return 0}#endif

这里用宏定义INC_CODE来控制是否编译函数func。 当前代码中,INC_CODE 设置为1,则func将被编译。如果修改代码为

#define INC_CODE 0

那么func将不会编译。

#endif 是什么意思?

首先#endif 是预编译处理指令中的条件编译。

预编译处理是指在编译系统对文件进行编译---词法分析、语法分析、代码生成及优化之前,对一些特殊的编译语句先进行处理,然后将处理结果与源程序一起编译,生成目标文件。

编辑本段

预编译处理语句都是以#开头,其结尾不带分号,与普通程序语句相区别。

#endif用于结束条件编译,编译时与前面最近的#if、#ifdef或#ifndef作为一对,经常一起使用,编译两者之间的部分程序段。

希望对你有帮助!

endif esle indef是什么意思

endif esle indef是如果其他的通行证的意思。

电子往来港澳通行证,公安部将在广东试点启用的往来港澳通行证的电子版本,2014年5月20日起受理申请。[2] 即将启用的电子通行证存有数字化的个人资料和指纹信息,可以使用口岸自助查验通道实现自助通关。[2]

2014年9月,为进一步便利内地居民往来港澳地区,提高往来港澳通行证、签注的签发和查验效率,增强证件防伪性能,在广东省试点签发取得成功的基础上,公安部决定,全国公安机关出入境管理部门自9月15日起全面启用电子往来港澳通行证(即2014版往来港澳通行证)。[3]

电子往来港澳通行证为参照有关国际标准设计制作的卡式证件,内部嵌有非接触式集成电路芯片,存储持证人个人资料及证件、签注签发管理信息,采用成熟的数字安全防伪机制进行保护,印制过程中还使用了多项物理防伪技术,防伪能力明显增强。电子往来港澳通行证启用后,往来港澳签注不再采取贴纸的方式,而是直接打印在证件背面(可以重复擦写)。内地和港澳地区口岸查验部门查验时不再加盖验讫章,签注使用情况由计算机信息系统记录管理,有需要的持证人可向内地及港澳地区主管部门查询签注剩余次数等信息。[3]

根据《中华人民共和国出境入境管理法》的规定,经国务院批准,公安机关出入境管理部门对首次申请电子往来港澳通行证的16周岁以上(含)的申请人将采集或核验指纹,对16周岁以下的申请人是否采集指纹根据其监护人的意见确定。留存指纹后,符合条件的持证人在通关时可以使用内地和港澳地区口岸的自助查验通道。对于希望使用港澳地区自助查验通道的申请人,只需在申请证件时签署《电子往来港澳通行证持证人免登记使用港澳地区自助查验通道声明》(未满16周岁的由监护人签署),无须事先向港澳地区主管部门登记备案指纹信息,实现一次备案、三地自助通关。为确保持证人指纹信息安全,内地和港澳地区主管部门均建立了严密的管理制度,并采用多种技术保护措施,芯片中存储的持证人指纹模板信息无法被还原为原始指纹图像,只能用作判别人证同一性的依据。[3]

此外, *** 子往来港澳通行证有效期延长为10年,对未满16周岁的仍签发5年有效通行证。电子往来港澳通行证及签注的收费标准不变。电子往来港澳通行证启用后,仍在有效期内的现行往来港澳通行证(本式)及往来港澳签注(贴纸式)可以继续使用。持用本式往来港澳通行证的,可以继续申请贴纸式往来港澳签注,也可以申请换发电子往来港澳通行证。[3]

C语言 #ifdef #endif 是什么意思?

#ifdef #endif是C语言的条件编译。

一般情况下,源程序中所有的行都参加编译。但有时希望对其中一部分内容只在满足一定条件下才进行编译,即对一部分内容指定编译条件,这就是“条件编译”(conditional pile)。

#ifdef的一般形式:

#ifdef宏名

语句段

#endif

作用:如果在此之前已定义了这样的宏名,则编译语句段。

<!--[if !supportLists]-->1. <!--[endif]-->是什么意思

<!--隐藏-->

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)

}

#else 告诉编译器,#if的另外一个部分

void p(int a)

{

printf("%d",a)

}

#endif 告诉编译器,#if的结束

void main()

{

p(32)

}

#if OS_CRITICAL_METHOD == 3 OS_CPU_SR cpu_sr#endif 是什么意思

预编译指令

#if 条件满足

指令 否则这条指令不编译

#endif

c语言中的#ifndef,def,endif等宏是什么意思

1、这是条件编译的命令

#ifndef def

语句1

# else

语句2

# endif

表示如果def在前面进行了宏定义那么就编译语句1(语句2不编译),否则编译语句2(语句1不编译)

2、宏定义的格式如下:

#define 标识符 字符串

其中,#表示这是一条预处理命令;#define为宏定义命令;“标识符”为宏定义的宏名;“字符串”可以上常数、表达式、格式串等。

举例如下:

#define PI 3.14 对3.14进行宏定义,宏名为PI

void main()

{

printf("%f", PI) 输出3.14

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7899571.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存