【发布时间】:2020-01-07 12:22:32
【问题描述】:
#ifndef api_H_
#define api_H_
...
#endif
在上面的代码中,它会检查文件是否已经包含在内,以避免多次包含。
问题:
我想知道是否有更好的方法可以这样做,有哪些替代方法,如果这是更好的方法,那么为什么会这样?
【问题讨论】:
-
另见Should I use
#includein headers? 和(更近的)Understanding different styles of#definein C 和Why doesn't the compiler automatically add or generate an include guard? 和What is a good reference documenting patterns of use of.hfiles in C?(现在可能不是一个可接受的问题),以及无数其他问题。搜索[c] include guard。 -
对于那些好奇的人,C++ 正试图通过modules 来解决这个问题(以及更多问题)。如果这样的事情会出现在 C 中是一个悬而未决的问题。
标签: c header-files multiple-inclusions