我正在努力从 frankenstein 和一个文件的数千行程序转变为结构良好且组织良好的多文件程序。现在似乎很自然(天真)的是为我的三个文件制作一个包含头文件的三角:
file_1 包括 file_2,file_4
file_2 包括 file_3,file_4
file_3 包括 file_1 .... 等等
这些文件有变量,我在其他文件之间需要的方法、结构等。
当然,我遇到了双重包含错误。
我的问题:我应该通过在标头中使用预处理器指令(例如,完全在标头中包括结构、方法等)来避免这些问题,还是应该使用 makefile 进行编译(我听说它也可以用来解决这个问题- ——但我从来没有做过)?