我最近开始学习 C++,来自 Ruby 环境,我发现很难以仍然可以正确编译的方式构造一个项目,我一直在使用 Code::Blocks,这很出色,但缺点是当我添加一个新的头文件或c++源文件,它会生成一些代码,尽管只有3或4行,但我不知道这些行是做什么的。首先我想问一个问题:
这些线有什么作用?
#ifndef TEXTGAME_H_INCLUDED
#define TEXTGAME_H_INCLUDED
#endif // TEXTGAME_H_INCLUDED
我的第二个问题是,我是否需要 #include .h 文件和 .cpp 文件,以及按什么顺序。
我的第三个问题是在哪里可以找到我相信与 Code::Blocks 一起打包的 GNU GCC 编译器以及如何在没有 Code::Blocks 的情况下使用它?我宁愿用 notepad++ 之类的方式进行开发,因为这是我在 Ruby 中习惯的方式,但由于 C++ 是编译的,你可能会有不同的想法(也请对此提出建议和看法)
提前致谢,嗯。
编辑:我使用的是 Windows XP,感谢您的快速回复!
回答您的问题:
这些线路包括警卫。它们防止头文件在任何给定的翻译单元中被多次包含。如果多次包含它,您可能会遇到多个定义错误。
头文件#included 在.cpp 文件和其他头文件中。 .cpp 文件通常不会#included。
Code::Blocks 附带的 C++ 编译器称为 MinGW GCC,可以在 MinGW 安装的 bin 目录中找到。要找到它,请通过资源管理器在 Windows 中搜索“g++”。要使用它,您需要将其所在的目录放在搜索路径中。请注意,Code::Blocks 附带的编译器版本相当旧 - 您可以从here获取更新的版本。
您不#include .cpp 文件。 (好吧,除非你是一个邪恶的程序员。不要这样做!)
我会让其他人(或谷歌!)告诉您有关 gcc 的信息,但如果您描述一下您正在使用的平台可能会有所帮助。
我宁愿在记事本++中开发 有点像因为我就是这样 过去在 Ruby 中使用,但由于 C++ 是 编译,你可能有不同的想法 (请对此提出建议和看法 还有)
我认为这是一个非常糟糕的主意。具有集成调试器、跳转到符号定义、重构功能、分析器、智能感知等功能的成熟 IDE 实际上是任何现实世界项目的必备条件。
绝对最好的是
Visual Studio* 和 Visual Assist X**。代码::相比之下,块相形见绌;)
* 如果您在大学学习,通常可以通过 MSDNAA 免费获得;另外还有免费的 Visual Studio Express 版本