所以我的项目中有很多.c和.h文件:
以下是有问题的文件的标题:
#ifndef OUTPUTUTILITIES_H
#define OUTPUTUTILITIES_H
#include <string.h>
#include <stdio.h>
#include "parser.h" // <== IF I REMOVE THIS include everything works. But I need to include this here
#endif
#ifndef PARSER_H
#define PARSER_H
#include <stdbool.h>
#include <stdio.h>
#include "utilities.h"
#endif
#ifndef UTILITIES_H
#define UTILITIES_H
#include <string.h>
#include <stdio.h>
#include "variableVector.h"
#endif
#ifndef VARIABLEVECTOR_H
#define VARIABLEVECTOR_H
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
#endif
有人可以解释为什么我的outputUtilites.h文件中不能#include“parser.h”文件吗?以及组织导入.h文件背后的一般原则是什么?
我还想让你知道,在相应的.c文件中,我只包含相应的.h文件,没有其他内容。例如,在我的parser.c文件中,我只包含parser.h,在我的ouputUtilities.c文件中,我只包含outputUtilities.h文件。