构造标题的正确方法是什么?有一些类似的问题,但没有一个给出好的答案。现在我正在使用这个:
#ifndef INCLUDE_FILENAME
#define INCLUDE FILENAME
/* Includes */
/* Constants, enums */
/* Structure */
/* Globals */
/* Function prototypes */
#include "File.c"
#endif
然后我从程序中#include 标题。
必须以正确的顺序包含内容会带来很多问题,而且我相当确定这是错误的结构。
理想情况下,它应该在构建单个文件和单独构建模块时起作用。
一个相关的问题是:全局变量应该在头文件中实现,还是定义为外部并在源文件中实现?
最佳答案
理想情况下,头文件不应定义任何数据或代码。这意味着全局变量只能在 header 中声明,然后在源文件中定义。
头文件的目的是给编译器提示,而不是包含实际的数据和代码。
此外,根本不打算包含源文件,每个源文件通常直接传递给编译器。
关于正确的 C 头结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8312543/