我的c++项目由两个目录组成,当然还有main.cpp
:
Dataloader
包含数据加载器.h和数据加载程序.cpp- 包含analysis.h和analysis.cpp的
Analysis
在数据加载器.h中,我包括分析。h如下:
#include<../Analysis/analysis.h>
我的教授告诉我,这是一个很大的不!!!!!。我们试图创建生成文件,他很惊讶。为什么这是一种糟糕的做法?以及如何简化include。我正在开发code::blocks
和gcc 4.8编译器。
注意:我注意到代码::阻止了一些可原谅的错误。什么时候我们试着用gcc命令编译它,结果坏了
#include<../Analysis/analysis.h>
使代码变得脆弱。如果使用不同的目录结构重新组织代码库,则包含此类#include
语句的文件将无法编译。
关于:
注意:我注意到代码::阻止了一些可原谅的错误。当我们试图使用gcc命令编译它时,出了问题
将-I.
添加到编译器标志中以解决该问题。
我一直被教导,你应该把你的include放在依赖它们的文件中,这是有道理的。
因此,在您的情况下,我假设您使用dataloader
来导入数据,然后使用analysis
来分析数据。在这种情况下,将这两者都包含在主体中更有意义。
相比之下,我制作了一个包含print_board()
函数的n乘n井字游戏。此函数依赖于一个带有常量的头文件colors.h
来正确打印电路板。因此,在这种情况下,我的print_board.h
文件包含colors.h
文件更有意义,因为它直接依赖于它,而其他文件都不是。