我最近一直在研究 GoLang——来自 C++ 背景——我正在阅读一篇论文,据称它解释了制作 Golang 背后的原因,这里是它的链接:https ://talks.golang.org/2012/splash.article
其中一个主张是,在 C 和 C++ 中处理依赖项(包)是很痛苦的,并且需要一个#ifndef
保护实例来声明
目的是 C 预处理器读取文件,但忽略文件的第二次和后续读取的内容......
我引用了一个 GCC 页面,https://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html。
因此,如果头文件出现在随后的 #include 指令中并且定义了 FOO ,那么它将被忽略并且不会预处理甚至重新打开文件第二次
Go:“读入并忽略”与 GCC:它不会预处理甚至第二次重新打开文件。
不矛盾吗?
感谢您的想法。感谢您阅读我的问题。