如何测试之前是否已包含标题

Ale*_*res 5 c macros header-files

我正在制作一个项目,我对一个问题感到震惊.

我有3个libraries.h,包括另一个特殊的库,definitions.h,但在我的主模块中,我想只包含所有库一次,我的意思是,我想测试是否definitions.h已经包含了库,并包括是否取决于结果.

就像是

If !(#include"definitions.h")
(#include"definitions.h")
Run Code Online (Sandbox Code Playgroud)

P.P*_*.P. 10

你正在寻找包括警卫.

例,

#ifndef DEFINITIONS_H 
#define DEFINITIONS_H 
...
...

#endif
Run Code Online (Sandbox Code Playgroud)


Yu *_*Hao 6

#ifndef DEFINITIONS_H
#define DEFINITIONS_H
//lots of code
//
//
//
//
#endif
Run Code Online (Sandbox Code Playgroud)

还有非标准#pragma once,请看#pragma曾经是一个安全的包含守卫吗?