c++ - C++项目的结构应该是什么?

标签 c++ compiler-construction include header codeblocks

我最近开始学习 C++,并且来自 Ruby 环境,我发现很难以一种仍然可以正确编译的方式构建项目,我一直在使用 Code::Blocks,它很棒,但缺点是当我添加一个新的头文件或c++源文件时,它会生成一些代码,尽管只有3或4行,但我不知道这些行是做什么的。首先我想问这个问题:

这些线是做什么的?

#ifndef TEXTGAME_H_INCLUDED
#define TEXTGAME_H_INCLUDED

#endif // TEXTGAME_H_INCLUDED

我的第二个问题是,我是否需要 #include .h 文件和 .cpp 文件,以及顺序。

我的第三个问题是我在哪里可以找到 GNU GCC 编译器,我相信它与 Code::Blocks 打包在一起,我如何在没有 Code::Blocks 的情况下使用它?我宁愿以 notepad++ 的方式进行开发,因为这是我在 Ruby 中习惯的方式,但由于 C++ 是编译的,您可能会有不同的想法(也请提供建议和意见)

提前致谢,嗯。

编辑:我使用的是 Windows XP,感谢您的快速回复!

最佳答案

回答您的问题:

  • 线路包括守卫。它们防止头文件在任何给定的翻译单元中被多次包含。如果多次包含它,您可能会遇到多个定义错误。

  • 头文件#included 在.cpp 文件和其他头文件中。 .cpp 文件通常不#included。

  • Code::Blocks自带的C++编译器叫做MinGW GCC,可以在MinGW安装的bin目录下找到。要找到它,请通过资源管理器在 Windows 中搜索“g++”。要使用它,您需要将它所在的目录放在您的搜索路径中。请注意,Code::Blocks 附带的编译器版本很旧 - 您可以从 here 获得更新的版本。 .

关于c++ - C++项目的结构应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2708078/

相关文章:

c++ - 模板以及编译期间创建的内容

c++ - 英特尔 <math.h> vs C <math.h>?

php - 监控磁盘读取

c++ - 如何解析变量和函数引用(链接器和编译器)?

c++ - Visual Studio 2010 C++ 编译器为类分配了错误的大小

delphi - 防止 Delphi 包中隐式导入单元

path - 如何在Qt Creator中添加包含路径?

c++ - 对 STL 容器中基类的 dynamic_cast 引用

c++ - 不变问题和隐式 move 构造函数

c++ - MPI 发送矩阵列 (C++)