大陆地区请使用VPN访问,欢迎提建议,关注LSKR Mastodon

预编译语句ifndef入门解释和使用

预编译语句ifndef 入门解释。包括工作方式以及用法。

预处理指令 指的就是代码编译器将代码编译成可以执行二进制指令前,不是盲目的编译,用户可以给他一些指令告诉编译器如何编译,也就是预处理指令。

预编译语句ifndef

#ifndef 是 C 和 C++ 语言中的一个预处理指令,它的作用是: “如果没有定义某个宏,就执行下面的代码。”它通常和 #define#endif 一起使用,构成一个头文件保护(Include Guard)的结构,防止头文件被多次包含,导致重复定义的错误。

 #ifndef MY_HEADER_H
 #define MY_HEADER_H
 // 这里是头文件的内容
 void sayHello();
 #endif // MY_HEADER_H

它是怎么工作的?

编译器第一次遇到这个文件时:

  • MY_HEADER_H 还没有被定义 → 进入代码块。

  • 定义宏 MY_HEADER_H

  • 继续处理文件内容。

如果这个文件后来又被包含一次:

  • MY_HEADER_H 已经被定义 → 编译器跳过整个代码块,避免重复定义。

总结一下

指令含义
#ifndef MACRO如果没有定义这个宏,就执行下面的代码
#define MACRO定义一个宏
#endif结束这个条件预处理块

这种写法常用于头文件保护,防止多次包含造成编译错误。

NextGen Digital... Welcome to WhatsApp chat
Howdy! How can we help you today?
Type here...