【C/C++】头文件防卫式宏

本篇简单介绍头文件防卫式宏 Header Guard

其目的是:为了防止头文件被多次包含导致编译错误,保证每个头文件内容只被包含一次。

做法是在 .h 头文件开头结尾加上下列代码:

c 复制代码
#ifndef PRO_H
#define PRO_H
//......
#endif

C++11之后,可以使用 #pragma once,效果一样,但写起来更简单:

c 复制代码
#progma once
//......

#pragma once 是编译器扩展,不是标准,不过大部分主流编译器GCCClangMSVC 都支持了。

所以使用二者任一都可以,以上便是本篇所有内容,谢谢。

相关推荐
十五年专注C++开发5 分钟前
windows和linux使用system启动进程是一样的吗?
linux·c++·windows·system
Dshuishui7 分钟前
VSCode 环境下编译运行 C++ 项目
c++·ide·vscode
fengci.7 分钟前
php反序列化(复习)(第四章)
android·开发语言·学习·php·android studio
Jasmine_llq7 分钟前
《B3923 [GESP202312 二级] 小杨做题》
开发语言·状态标记算法·顺序输入输出算法·递推迭代算法·循环遍历算法·条件终止算法·累加求和算法
whatever who cares10 分钟前
android中,全局管理数据/固定数据要不要放一起?
android·java·开发语言
liu****15 分钟前
第15届省赛蓝桥杯大赛C/C++大学B组
开发语言·数据结构·c++·算法·蓝桥杯·acm
charlie11451419123 分钟前
嵌入式Linux模块开发——struct module 深度解析:内核模块的核心数据结构
linux·开发语言·数据结构·c
yong999024 分钟前
Matlab AHP层次分析法(Analytic Hierarchy Process)实现指南
c语言·matlab
无缘之缘27 分钟前
蓝桥杯手把手教你备战(C/C++ B组)(最全面!最贴心!适合小白!)
c语言·c++·算法·蓝桥杯
吴声子夜歌28 分钟前
ES6——Symbol详解
开发语言·javascript·es6