use*_*118 2 c include-guards header-files c-preprocessor
我一直在C语言的源文件的开头看到这样的代码
#ifndef _INCLUDE_GUARDS_C
#define _INCLUDE_GUARDS_C
main()
{
}
function1()
{
}
#endif
function2()
{
}
Run Code Online (Sandbox Code Playgroud)
我对这个目的感到困惑..?
我知道包含警卫是否在头文件中定义,但是
这些包括源文件中的警卫的目的是什么?和
为什么在包含警戒之外定义function2()?
将包含保护放在C或C++非标头源文件中没有任何好处.
我已经从零开始实施了一个预处理器,并且研究了一个人可以做到的保护,这完全没有意义.
至于守卫之外的功能,对我来说看起来很邋.. 或者,有时当某人有魔法咒语时,他们不确定何时适用,所以他们随机应用它.