标准C头文件样板做了什么?来自检查测试框架教程

标准C头文件样板做了什么?来自检查测试框架教程,c,C,这个东西 #ifndef MONEY_H #define MONEY_H #endif 在src/money.h中。目的何在?我理解ifndef宏,但我们如何定义货币?为什么?这是从流行的检查测试框架开始的。假设自动工具设置,而不是cmake。我一直在阅读automake、autoconf和make GNU文档,以及大家推荐的slidedeck,它澄清了许多关于项目结构和布局的问题。但是我仍然被大量的新信息和类似的事情弄糊涂了。这是用来避免双重包含你的.h文件,这样,如果.h已经被包含,你就

这个东西

#ifndef MONEY_H
#define MONEY_H

#endif

在src/money.h中。目的何在?我理解ifndef宏,但我们如何定义货币?为什么?这是从流行的检查测试框架开始的。假设自动工具设置,而不是cmake。我一直在阅读automake、autoconf和make GNU文档,以及大家推荐的slidedeck,它澄清了许多关于项目结构和布局的问题。但是我仍然被大量的新信息和类似的事情弄糊涂了。

这是用来避免双重包含你的.h文件,这样,如果.h已经被包含,你就不会再包含它了。

搜索header include guard。我真正想要的是得到一个更好的教程。这个坏了。究竟为什么我们要定义一个空的标识符MONEY_H?您已经搜索并阅读了,可能还有关于?那么应该很清楚为什么需要宏定义或a。此外,这是一个标准的C习惯用法。它与check框架没有什么特别的关系,只是因为它可能会用到这个习惯用法。此外,它不是特定于GNU的,与自动工具完全无关。标记已编辑。