我正在做一个项目,我对一个问题感到震惊。
我有 3 个 library.h,其中包含另一个特殊的 library,defines.h,但是在我的 Main 模块中,我想只包含一次所有的库,我的意思是,我想测试该库definitions.h
是否已经被包含,并包含它与否取决于结果。
就像是
If !(#include"definitions.h")
(#include"definitions.h")
我正在做一个项目,我对一个问题感到震惊。
我有 3 个 library.h,其中包含另一个特殊的 library,defines.h,但是在我的 Main 模块中,我想只包含一次所有的库,我的意思是,我想测试该库definitions.h
是否已经被包含,并包含它与否取决于结果。
就像是
If !(#include"definitions.h")
(#include"definitions.h")
#ifndef DEFINITIONS_H
#define DEFINITIONS_H
//lots of code
//
//
//
//
#endif
还有 non-standard #pragma once
,请参阅Is #pragma once a safe include guard?
如果您的标头语法正确,这应该不是问题。其实这就是你写的原因
#ifndef _DEFINITIONS_H
#define _DEFINITIONS_H
[header content]
#endif
因此,如果您的标头符合 C 约定,那么您应该没问题。