#ifndef

article/2025/9/6 8:01:23

#ifndef都是一种宏定义判断,作用是防止多重定义。

#ifndef是if not define的简写。

一般的使用场景为: 1)、头文件中使用,防止头文件被多重调用2)、作为测试使用,省去注释代码的麻烦3)、作为不同角色或者场景的判断使用。

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

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

#ifndef <标识>

#define <标识>

#endif

<标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:stdio.h

#ifndef STDIO_H

#define STDIO_H


#endif

在这里插入图片描述


http://chatgpt.dhexx.cn/article/W1LUaY1g.shtml

相关文章

#ifndef的神仙用法

首先要知道#ifndef是是可以在main中使用的&#xff0c;其次它的格式是&#xff1a; #ifndef 宏 。。。。。。 #else 。。。。。。 #endif 正如图中所示#ifndef ZHON&#xff0c;如果没有ZHON这个宏的话则执行printf("zhongguo")&#xff0c; 如果定义了宏&#…

ifndef 详解

原博文&#xff1a;https://www.cnblogs.com/codingmengmeng/p/7221295.html #ifndef 是"if not defined"的简写&#xff0c;是预处理功能&#xff08;宏定义、文件包含、条件编译&#xff09;当中的条件编译&#xff0c;可以根据是否已经定义了一个变量来进行分支选…

C语言中:#ifndef 的用法及延伸-20210617

最近由于项目原因需要用到C语言&#xff0c;记录一下看代码时遇到的问题以及知识盲区。 语法结构&#xff1a; #ifndef _XXX_H_ #define _XXX_H_ ... ... ... #endif 作用&#xff1a; 防止头文件的重复包含和编译 C语言编译系统包括预处理&#xff0c;编译和链接等部分。C语言…

【C/C++】ifndef/define/endif的作用

参考资料来源于网上&#xff0c;还未经本人实验证明。 1 作用 防止头文件被重复包含和编译。 头文件重复包含会增大程序大小&#xff0c;重复编译增加编译时间。 解释&#xff1a;#ifndef起到的效果是防止一个源文件多次包含同一个头文件。那么一个源文件为什么会两次包含同一…

【#ifndef, #define, 和 #endif】

前言 学习AFNetWoring源码的时候&#xff0c;在AFN的h借接口文件又看到了这几个宏定义&#xff0c;学习记录一下。 作用 #ifndef, #define, 和 #endif是C/CPP的预处理指令&#xff0c;常常用来条件编译和防止头文件重复包含。 简介 #ifndef 它是if not define的简写&…

ifndef详解

ifndef详解 #ifndef 是"if not defined"的简写&#xff0c;是预处理功能&#xff08;宏定义、文件包含、条件编译&#xff09;当中的条件编译&#xff0c;在实际开发中可以用于做test或者不同版本的不同适配。 在vscode中可以通过json脚本的define来定义ifndef 的值…

禁用swap分区

禁用swap分区 1.进入系统右击鼠标点击“在终端中打开” 2.输入命令 sudo vim /etc/fstab 编辑fstab文件 3.键盘输入 i 进入插入模式就可以对文件进行编辑了 4.将UUIDxxx… swap那一行的最前面添加 # 把这行注释 5.编辑好后按键盘 Esc 退出插入模式 6.键盘输入 :wq 来保存退…

Centos7 关闭swap分区

安装K8S需要关闭swap分区 注释/etc/fstab关于swap的配置 Esc键 :wq 退出。 reboot重启生效 开机后free -m校验

swap分区管理方法

swap分区管理方法 一、内存的认识二、SWAP分区作用&#xff08;内存暂存的地址-硬盘&#xff09;三、swap分区大小建议四、swap管理4.1创建swap分区4.2swap临时调整优先级4.2swap永久调整优先级 五、删除swap分区 一、内存的认识 内存很贵 内存与硬盘的差距 /dev/shm 就是内存…

如何修改swap分区大小

测试环境&#xff1a; 依赖组件版本cdh版本5.13操作系统版本centos 6.9 问题现象&#xff1a; 因为是在虚拟机中搭建cdh大数据平台&#xff0c;虚拟机内存大小为4G&#xff0c;性能不足&#xff0c;导致cloudera-manager 服务频繁挂掉。 解决思路&#xff1a; 通过增加交换…

SWAP分区的讲解与命令使用

swap分区&#xff08;交换分区&#xff09; &#xff1a;交替存换&#xff0c;映射关系&#xff0c;映射结束后&#xff0c;内核剪断映射&#xff0c;当下次再需要进入映射的时候&#xff0c;在重新指向新的映射。 虚拟内存 &#xff1a;物理内存无法满足需要&#xff0c;衍生…

linux swap交换分区

一、当我们用free -h命令&#xff0c;查看服务器内存情况时&#xff0c;可以看到mem和swap两行。 mem行是从系统角度看来内存使用的情况&#xff0c;total是系统可用的内存大小&#xff0c;数量上等于系统物理内存减去内核保留的内存。 buffers和cached是系统用做缓冲的内存。…

Centos7设置swap分区

前言 Swap分区&#xff0c;即交换区&#xff0c;系统在物理内存&#xff08;运行内存&#xff09;不够时&#xff0c;与Swap进行交换。 其实&#xff0c;Swap的调整对Linux服务器&#xff0c;特别是Web服务器的性能至关重要。通过调整Swap&#xff0c;有时可以越过系统性能瓶颈…

linux系统中swap分区的介绍以及处理swap分区被占满的情况

linux分区一般来说是较为灵活的&#xff0c;一般还会单独分出一个交换分区(也就是swap分区)&#xff0c;这个分区是用于在物理内存不够用的情况下来帮助承担存储程序所需内存的任务&#xff0c;现在很多的电脑或者服务器的内存都是较大的&#xff0c;所以一般swap分区都不会派上…

swap分区扩展的三种方法

1. 交换分区扩容方法&#xff1f; 1.1 三种方法 &#xff08;1&#xff09;扩展正在使用的swap分区的逻辑卷&#xff08;推荐&#xff09; &#xff08;2&#xff09;新建swap分区 &#xff08;3&#xff09;新建swap file 1.2 示例 准备工作&#xff1a; &#xff08;1…

Linux之使用SWAP分区

通常我们能够在各大服务器商的网站上能够看到服务器的租赁价格主要与带宽、CPU以及内存这三个参数关联度较高&#xff0c;因此初用Linux服务器的朋友们可能开始买的配置都不会很高。但如果你在服务器上部署了较多的服务导致内存不够该怎么办呢&#xff1f;这个时候SWAP该上场了…

linux swap 内存交换分区 详细介绍

目录 1、什么是SWAP&#xff0c;到底是干嘛的&#xff1f; 为什么要进行内存回收&#xff1f; 会回收的两种内存 2、swappiness到底是用来调节什么的&#xff1f; 那么这个swappiness到底起到了什么作用呢&#xff1f; 3、kswapd什么时候会进行swap操作&#xff1f; 4、…

swap分区详解(创建swap分区,启用swap交换空间,关闭swap交换空间)

文章目录 swap分区什么是swap分区swap分区使用情况查看工具free案例 swapon 创建swap分区过程 swap分区 什么是swap分区 swap分区是指在Linux操作系统中为了提高系统运行效率而设置的一块特殊的硬盘空间&#xff0c;也称为虚拟内存。当系统内存不足时&#xff0c;会将一部分不…

Linux基础-Swap分区

博客主页&#xff1a;Passerby_Wang的博客_CSDN博客-系统运维,云计算,Git学习笔记领域博主 &#x1f310;所属专栏&#xff1a;『Linux基础』 &#x1f4f0;如觉得博主文章写的不错或对你有所帮助的话&#xff0c;还望大家多多支持呀&#xff01; 关注、点赞、收藏、评论。 目录…

保姆级swap分区详解!手把手带你创建swap分区(两种方式,建议收藏)涉及fdisk、gdisk、df、parted、partprobe、mkswap、swapon、free、dd、od等命令

Swap分区的详解 && 创建 什么是swap分区&#xff1f;方法一&#xff1a;使用物理分区创建Swap分区1. 利用fdisk / gdisk在磁盘上划出一个分区1.1 lsblk —— 查看本机的磁盘分区基本情况1.2 df 命令 —— 查看磁盘空间利用率1.3 parted命令 —— 列出磁盘的分区表类型与…