C&x2B的结构应该是什么+;项目 我最近开始学习C++,来自Ruby环境,我发现很难用一种仍然正确编译的方式来构造一个项目,我一直在使用代码::块是很精彩的,但是缺点是当我添加了一个新的头文件或C++源文件时,它将生成一些代码,即使只有3或4行,我也不知道这些行是做什么的。首先,我想问一个问题:

C&x2B的结构应该是什么+;项目 我最近开始学习C++,来自Ruby环境,我发现很难用一种仍然正确编译的方式来构造一个项目,我一直在使用代码::块是很精彩的,但是缺点是当我添加了一个新的头文件或C++源文件时,它将生成一些代码,即使只有3或4行,我也不知道这些行是做什么的。首先,我想问一个问题:,c++,compiler-construction,include,header,codeblocks,C++,Compiler Construction,Include,Header,Codeblocks,这些线是干什么的 #ifndef TEXTGAME_H_INCLUDED #define TEXTGAME_H_INCLUDED #endif // TEXTGAME_H_INCLUDED 我的第二个问题是,我是否需要同时包含.h文件和.cpp文件,以及它们的顺序 我的第三个问题是,在哪里可以找到GNU GCC编译器,我相信它是用Code::Blocks打包的,没有Code::Blocks我如何使用它?我宁愿用记事本+ +的方式发展,因为这是我在Ruby中习惯的,但是因为C++被编译,你可能

这些线是干什么的

#ifndef TEXTGAME_H_INCLUDED
#define TEXTGAME_H_INCLUDED

#endif // TEXTGAME_H_INCLUDED
我的第二个问题是,我是否需要同时包含.h文件和.cpp文件,以及它们的顺序

我的第三个问题是,在哪里可以找到GNU GCC编译器,我相信它是用Code::Blocks打包的,没有Code::Blocks我如何使用它?我宁愿用记事本+ +的方式发展,因为这是我在Ruby中习惯的,但是因为C++被编译,你可能会有不同的想法(请给出建议和看法)

先谢谢你,呃

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

这是一种防止.h文件被包含两次的方法。除了节省时间之外,事实上,这通常是避免重复定义事物所必需的

您应该只包括.h。c文件将以某种形式保存到程序中。对于小程序,您可以将所有的.c文件传递给gcc,但较大的程序将涉及中间的.o文件甚至库(或)


您完全可以在没有IDE的情况下工作。在Windows上安装gcc编译器有多种方法,包括和。我认为Code::Blocks附带一个gcc可执行文件是正确的,但我不知道它在哪里或是什么版本。

回答您的问题:

  • 这些管线包括防护装置。它们防止头文件在任何给定的翻译单元中包含多次。如果包含多次,可能会出现多个定义错误

  • 头文件包含在.cpp文件和其他头文件中。cpp文件通常不包括在内

  • > P>编译器:C++:编译器块:名为明文GCC,可以在MIW安装的bin目录中找到。要找到它,请通过资源管理器在Windows中搜索“g++”。要使用它,您需要将它所在的目录放在搜索路径上。请注意,与Code::Blocks一起提供的编译器版本非常旧,您可以从中获得更新的版本


这些行使得如果一个文件包含两次,那么一切都将继续工作。这反过来让您可以将头文件依赖项作为简单的有向图来处理,这绝对是最简单的

您不包括.cpp文件。(好吧,除非你是一个邪恶的程序员。不要这样做!)


我会让其他人(或谷歌!)告诉你关于gcc的情况,但如果你描述一下你正在使用的平台,可能会有所帮助。

你所有的问题都得到了其他人的回答,除了以下问题:

我宁愿在记事本上发展++ 某种程度上是因为我就是这样 在Ruby中使用,但因为C++ 但是,你可能会有不同的想法 (请就此提出建议和意见。) (以及)

我认为这是一个非常糟糕的主意。一个具有集成调试器、跳转到符号定义、重构功能、探查器、intellisense等功能的成熟IDE实际上是任何实际项目的必备工具

绝对最好的是**。代码::块在比较中变淡;)


*如果你在大学学习,你通常可以通过MSDNAA免费获得;否则,将提供免费的Visual Studio快速版

**30天的评估期

如果您在没有IDE的情况下工作,而IDE为您处理编译过程,那么您肯定应该了解类似的工具。与a和一个好的实用程序一起安装可能是一个棘手的过程,但千万不要放弃。更不用说PaymySoft提供的Vi$ual现金(附言,我不想投反对票)。但你不认为如果你自己编写所有代码会更好吗,而不是一些自动生成的,使用Visual ButoTouTeMe插件,允许您使用键盘编辑文件:>鉴于埃尔使用代码::Boots,是新的C++,我建议免费Visual C++快件,而不是建议一个800美元的软件包,这是过度学习语言的方式。这可能是最好的,但在我看来,这并不是一个有用的评论。@Tom:我没有建议使用VS的特定版本;视觉辅助X有40天的评估期,所以他可以不花一分钱就按照我的建议去做@Ell:没有“自动生成”的代码;你会得到提示,你可以遵循。它节省了时间。它附带了mingw 5.1.6,其中包括gcc 3.4.5,这是相当过时的,我个人使用TDM的gcc,这是更新的,新的代码块版本可能会在某一天发布,也将包括一个更新的版本。