在尝试学习C ++时,我已经开始进行一个较大的项目,在该项目中,我尝试使用类以避免出现混乱的main.cpp
文件。这意味着我正在创建更多.cpp
文件,这些文件与main.cpp
文件位于同一文件夹中。这也导致目录混乱,因此我尝试通过以下两个链接添加文件夹来管理文件:
我的问题如下:
(.h)
(.cpp)
在另一个目录中
目录,例如C:\headers\header.h
和C:\source\main.cpp
到
在我的包含中使用#define HEADER "/path to header"
,然后
以某种方式#include HEADER "aheader.h"
,这意味着我不会
每次包含标头时都需要将路径写入
标头目录,而是在包含之前写HEADER?示例:
代替:
#include "c:\headers\header.h"
#include "c:\headers\anotherheader.h"
使用:
#define HEADER "c:\headers\"
#include HEADER "header.h"
#include HEADER "anotherheader.h"
我之所以这样问,是因为我想避免在学习C ++代码时的所有不好的做法,所以以后我不会犯错。由于我没有工作经验,所以我不知道我在网上找到的指南在实践中是否很好。
我当前的结构:
答案 0 :(得分:1)
是否存在用于创建C ++项目的标准? 工作场所还是每个项目都是主观创建的?
否,您可以在不同项目中找到不同的结构。
如果不存在标准,则应采取任何不良做法 创建文件夹结构时避免使用?
您应该:
您不应:
我可以创建一个文件夹结构,在其中放置所有标头(.h) 一个目录中的文件以及另一个目录中的所有源文件(.cpp)(例如C:\ headers \ header.h和C:\ source \ main.cpp)在我的目录中都使用#define HEADER“ / header的路径”然后以某种方式#include HEADER“ aheader.h”,这意味着当包含标头时我不需要每次都写标头目录的路径,而在包含之前写HEADER吗?
不,那真的很糟糕。
我不喜欢为源/头文件使用不同的文件夹,但是如果您愿意的话。您可以使用包含路径(-l标志)来解决。
因此您将使用:
#include <header.h>
#include <anotherheader.h>
之所以可行,是因为您在编译时就包含了该文件夹:
g++ -l "../headers" enemy.cpp
任何明智的IDE都会为您做到这一点。或者,您也可以在适合自己的makefile上执行此操作。