What are some good compilers to use when learning C++?对于初学者来说,易于使用的C ++编译器有哪些建议? 自由或开源的将是首选。 对于简单的事情,GCC是一个不错的选择。 Visual Studio Express版是主要Windows C ++编译器的免费版本。 如果您在Windows上,我会使用VS。如果您使用的是Linux,则应使用GCC。 *我说GCC的意思很简单,因为对于更复杂的项目,构建过程并不那么容易 G ++是GNU C ++编译器。大多数* nix发行版都应提供该软件包。 我建议使用gcc,因为它是设计用于命令行的,并且您可以编译简单的程序并查看正在发生的事情:
一文件进,二文件出。使用Visual C ++,大多数人将其与GUI一起使用,您必须在其中设置项目,而IDE会生成一堆文件,如果您刚入门,它们可能会妨碍您的工作。 如果您使用的是Windows,则可以在MingW或Cygwin之间进行选择。 Cygwin的设置有点麻烦,因为您必须选择要安装的软件包,但是我没有使用MingW的经验。 gcc -Wall(启用所有警告)-Werror(将警告更改为错误),-pedantic(获取非标准代码的警告)和-ansi(使标准c ++ 98)。 如果您知道警告并且需要将其关闭,则始终可以将其重新变成警告。 对于初学者:g ++ --pedantic-errors -Wall 从一开始,它将有助于强制执行良好的编程。 我建议使用Dev C ++。这是一个小型轻巧的IDE,使用mingw端口作为后端,这意味着您将编译defacto C / C ++编译器gcc 您始终可以使用Gnu编译器集合(GCC)中的C ++编译器。它几乎适用于地球上的所有Unix系统,BSD,Mac OS,Linux和Windows(通过Cygwin或mingw)。 许多IDE支持GCC C ++编译器,例如如其他文章所述,在Linux / KDE或Dev-CPP下的KDevelop。
是的,但是我不认为理解大型项目的构建过程与理解项目本身是正交的。我工作的最后一份工作是,他们有一个庞大的项目,需要为目标平台(LynxOS)和仿真环境(WinXP)构建。他们选择将所有内容都放入一个.VCP文件以在Windows上使用,并将其构建为一个大型可执行文件。目标是大约50个单独的进程,因此他们编写了一个makefile,列出了所有3000个源文件,将它们全部编译到一个大的库中,然后将每个可执行文件的各个main.cpp与多合一库链接到制作50个可执行文件(这些代码可能与其他可执行文件共享其代码的10%)。结果,没有开发人员知道什么代码依赖于任何其他代码。结果,他们从不费力尝试在任何事物之间定义干净的接口,因为任何地方都可以轻松访问所有事物。分层构建系统可以帮助在原本混乱的源代码存储库中强制执行某种顺序。 如果您不学习.cpp文件如何产生目标代码,什么是静态库,什么是共享库等,那么在学习C / C ++时,您仍然需要在某个时候学习它才能成为目标语言。胜任的C / C ++开发人员。 使用g ++或MingW / Cygwin的一个尚未被提及的原因是,启动和IDE将隐藏正在发生的事情。理解例如编译和链接之间的差异将对以后的工作非常有用。从一开始就学习并理解它,您甚至都不知道以后应该感谢自己。 -最大 Eclipse是Mac或Mac上的免费Xcode的好选择,可以在其开发站点上下载/删除。 CodeBlocks是一个非常好的IDE,可以与其他许多编译器CL.EXE(来自Visual Studio)和gcc一起使用。它也带有gcc的版本。 Visual Studio Express版本也是一个不错的选择(如果要开发调用winapi函数的应用程序,则可以使用Platform SDK)。 他们的C ++编译器的Microsoft Visual Studio Express Edition很好 我同意Iulian?erb?noiu的观点:Code :: Blocks是一个非常好的解决方案,可从Linux(它将使用g ++ / gcc)和Windows(它将使用MS编译器或gcc)使用 请注意,如果仅是了解标头,源代码,包含文件等的逻辑,则应至少一次或两次尝试使用良好的旧makefile进行编译。 作为初学者,不要忘记阅读有关C ++的书(当尝试学习语言的怪癖时,会想到Scott Meyers和Herb Sutter的书),并研究开放源码的高知名度项目,以从其代码风格中学习(他们已经遇到了您将遇到的问题,并且可能找到了可行的解决方案...)。 命令行中的Visual Studio的行为类似于GCC。只需打开Visual Studio命令行窗口,然后:
|