[英]Include Guards syntax in C
大家好,我想问一个关于在 C 编程中包含守卫的问题。 我知道他们的目的,但在某些程序中,我看到1 " 写在 #define 之后,如下所示:
#ifndef MYFILE_H
#define MYFILE_H 1
这个1的目的是什么? 有必要吗?
没有必要, #define MYFILE_H
应该可以解决问题。 定义MYFILE_H
的事实(由ifndef
测试的条件)与其值分开。 它可以是 0、' '、42 等。
如果MYFILE_H
宏未在代码中的其他地方使用,则没有必要。
如果它在其他地方与#ifdef
或#ifndef
指令一起使用,如下所示:
#ifdef MYFILE_H
那么宏定义中不需要1
但如果它在其他地方使用#if
指令,如这里:
#if MYFILE_H
那么宏定义中需要1
(或任何值!= 0
)。
请注意,这些指令可用于源文件中以验证是否包含标头。
据我所知,这是一种风格。 在我看来,“1”是不必要的; 它真的没有做任何事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.