麻烦帮忙看下这段代码
发布网友
发布时间:2024-02-17 09:15
我来回答
共4个回答
热心网友
时间:2024-12-15 08:29
#ifndef、#endif也是一种宏:
#ifndef:if no define如果未定义则为真
#endif:和ifndef进行匹配,中间语句只有当#ifndef成立时才执行
这里就是如果__LED_H未定义就执行#ifndef和#endif中间语句(包括__LED_H的定义)。
作用就是防止同一个头文件被重复包含,如果在另一个文件中已经包含了该头文件,那么就是已经定义了__LED_H这个变量(#define __LED_H),再一次包含该头文件时,#ifndef则会判断为假,避免重复执行同一段程序(#ifndef和#endif中间语句)。
热心网友
时间:2024-12-15 08:30
这个宏定义
#ifndef x x 如果没有定义
#define x 就定义一个x
。。。 程序段
#endif 完成定义
这几个能够防止重复定义
热心网友
时间:2024-12-15 08:30
程序编译前要经过预编译处理,就是处理那些前面带#号的语句,如#include "sys.h",就是用sys.h中的代码取代#include "sys.h"这一行
#ifndef,#endif这是条件编译 ,如果已经包含了该文件,则下次不再包含,即不需要再用sys.h中的代码取代#include "sys.h"这一行
条件编译为了防止出现重复包含同一个文件,如果这个文件中有函数的定义,你多次包含这个文件就相当于把这个文件里的函数重复定义,重复定义是不允许的
热心网友
时间:2024-12-15 08:31
#ifndef 和#endif都是一种宏
__LED_H
__LED_H
都是变量