C++ 项目的结构应该是怎样的?

问题描述 投票:0回答:4

我最近开始学习 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,感谢您的快速回复!

c++ include codeblocks header-files
4个回答
3
投票

回答您的问题:

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

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

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


3
投票

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

您应该只包含 .h。 .c 文件将以某种形式“链接”到您的程序。 对于小型程序,您可以将所有 .c 文件传递给 gcc,但较大的程序将涉及中间 .o 文件甚至库(staticdynamic)。 您绝对可以在没有 IDE 的情况下工作。 在 Windows 上安装 gcc 编译器的方法有很多,包括

Cygwin

MinGW。 我认为 Code::Blocks 附带 gcc 可执行文件是正确的,但我不知道它在哪里或什么版本。


1
投票

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

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


-1
投票

我宁愿在记事本++中开发 有点像因为我就是这样 过去在 Ruby 中使用,但由于 C++ 是 编译,你可能有不同的想法 (请对此提出建议和看法 还有)

我认为这是一个非常糟糕的主意。具有集成调试器、跳转到符号定义、重构功能、分析器、智能感知等功能的成熟 IDE 实际上是任何现实世界项目的必备条件。

绝对最好的是

Visual Studio

* 和 Visual Assist X**。代码::相比之下,块相形见绌;)

* 如果您在大学学习,通常可以通过 MSDNAA 免费获得;另外还有免费的 Visual Studio Express 版本
** 30 天评估期


© www.soinside.com 2019 - 2024. All rights reserved.