网站建设中,中国大陆地区请使用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结束这个条件预处理块

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

发表评论

Cookie Consent
我们使用 Cookie 来了解您如何使用我们的网站并提升您的体验。这包括个性化内容和广告。
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.