繁体   English   中英

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

[英]What Should be the Structure of a C++ Project?

我最近开始学习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的情况下使用它? 我宁愿用记事本++开发,因为这是我在Ruby中习惯的,但是由于C ++是编译的,你可能会有不同的想法(请给出建议和意见)

在此先感谢,ell。

编辑:我在Windows XP上并感谢灯光快速回复!

这是一个包含守卫 ,以防止.h文件被包含两次。 除了节省时间之外,实际上通常需要避免两次定义。

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

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

回答你的问题:

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

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

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

这些行使得如果文件是#included两次,一切都将继续工作。 这反过来允许您将头文件依赖关系视为简单的有向图,这绝对是最简单的。

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

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

除了以下情况,其他人都回答了您的所有问题:

我宁愿用记事本++开发,因为这是我在Ruby中习惯的,但是由于C ++是编译的,你可能会有不同的想法(请给出建议和意见)

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

最好的是使用Visual Assist X **的Visual Studio *。 Code :: Blocks相比之下的pales;)


*如果你在大学学习,你通常可以通过MSDNAA免费获得; 否则Visual Studio Express版本是免费的
** 30天的评估期

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM