[英]Purpose of include guards in .c file
我通常在C语言的源文件开头看到这样的代码
#ifndef _INCLUDE_GUARDS_C
#define _INCLUDE_GUARDS_C
main()
{
}
function1()
{
}
#endif
function2()
{
}
我对这个目的感到困惑。
我知道头文件中是否包含了包含防护,但是
这些在源文件中包含防护的目的是什么? 和
为什么function2()是在include防护之外定义的?
将包含保护放置在C或C ++非标头源文件中没有任何好处。
我从头开始实现了预处理器,并研究了尽可能多的人看守,这完全没有意义。
至于警卫之外的职能,对我来说似乎很草率。 或者,有时当某人具有魔咒时,他们不确定该何时应用,因此他们会随机应用。
老问题,但是...
我认为可以在测试代码时使用它。 测试时,您需要访问标头中未定义的局部函数,因此您需要包括.c
文件...是的,这很丑陋。 是的,您有更好的选择 !
对于标头中未定义的功能,您不需要包含保护。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.