在C++学习中使用什么好的编译器? 对于初学者来说,使用C++编译器有什么建议?自由或开源的首选。微软Visual Studio Express版的C++编译器是不错的< /P> < P>微软VisualStudio Express版的C++编译器是不错的 < P> GCC是简单的选择。 VisualStudio Express版是主要Windows C++编译器的免费版本。

在C++学习中使用什么好的编译器? 对于初学者来说,使用C++编译器有什么建议?自由或开源的首选。微软Visual Studio Express版的C++编译器是不错的< /P> < P>微软VisualStudio Express版的C++编译器是不错的 < P> GCC是简单的选择。 VisualStudio Express版是主要Windows C++编译器的免费版本。,c++,compiler-construction,C++,Compiler Construction,如果你在Windows上,我会使用VS。如果你在linux上,你应该使用GCC *我之所以说GCC是为了简单的事情,是因为对于一个更复杂的项目来说,构建过程并不那么简单 VisualStudio Express版是主要Windows C++编译器的免费版本。 如果你在Windows上,我会使用VS。如果你在linux上,你应该使用GCC *我之所以说GCC是为了简单的事情,是因为对于更复杂的项目,构建过程并不是那么容易我建议使用。它是一个小型、轻量级的IDE,使用mingw端口作为后端,这意味

如果你在Windows上,我会使用VS。如果你在linux上,你应该使用GCC


*我之所以说GCC是为了简单的事情,是因为对于一个更复杂的项目来说,构建过程并不那么简单

VisualStudio Express版是主要Windows C++编译器的免费版本。 如果你在Windows上,我会使用VS。如果你在linux上,你应该使用GCC


*我之所以说GCC是为了简单的事情,是因为对于更复杂的项目,构建过程并不是那么容易

我建议使用。它是一个小型、轻量级的IDE,使用mingw端口作为后端,这意味着您将编译事实上的C/C++编译器,我建议使用。它是一个小型的轻量级IDE,它使用明文端口作为后端,意味着你将编译事实上的C/C++编译器,

G++是GNU C++编译器。大多数的NIX DISROOS应该有可用的包。

< P> G++是GNU C++编译器。大多数*NX DISROR应该有可用的包。

,您可以总是使用GNU编译器集合GCC中的C++编译器。通过Cygwin或mingw,它几乎可用于地球上的任何Unix系统、BSDs、Mac OS、Linux和Windows


<> P>一些IDE支持GCC C++编译器,如Linux下的KDebug开发,或者其他帖子中提到的DEV CPP。

< P>您可以使用GNU编译器集合GCC中的C++编译器。通过Cygwin或mingw,它几乎可用于地球上的任何Unix系统、BSDs、Mac OS、Linux和Windows


一些IDE支持GCC C++编译器,如Linux下的KDebug开发,或其他帖子中提到的DEV CPP。初学者的< /P> < P>:G++Poad错误-墙< /P>


它将有助于从一开始就实施良好的编程。

对于初学者:g++-学究式错误-墙

它将有助于从一开始就实施良好的编程。

是一个非常好的IDE,除了visual studio和gcc中的许多其他编译器CL.EXE之外,它还可以使用。它还有一个包含gcc的版本

如果您要开发调用winapi函数的应用程序,Visual Studio Express edition也是平台SDK的非常好的选择

是一个非常好的IDE,除了可以使用visual studio和gcc中的许多其他编译器CL.EXE之外,它还可以使用。它还有一个包含gcc的版本


如果您要开发调用winapi函数的应用程序,Visual Studio Express edition也是平台SDK的非常好的选择

gcc with-Wall启用所有警告-Werror将警告更改为错误,-pedantic获取非标准代码的警告,-ansi生成标准c++98


如果您知道某个警告并且需要关闭,则始终可以将其转换为警告。

gcc with-Wall enable all warnings-Werror change warnings to errors,-pedantic get warnings for non-standard code和-ansi使标准c++98成为标准


如果你知道有警告需要关闭,你可以随时将其恢复为警告。

Eclipse对于mac来说是一个不错的选择,或者苹果自己的免费Xcode可以从他们的开发站点上下载。

Eclipse对于mac来说是一个不错的选择,或者苹果自己的免费Xcode,可以从开发站点上下载。

我推荐使用gcc,因为它是为在命令行上使用而设计的,您可以编译简单的程序并准确地看到发生了什么:

g++ -o myprogram myprogram.cc
ls -l myprogram
一个文件输入,两个文件输出。使用VisualC++,大多数人都使用GUI,在那里你必须建立一个项目,IDE生成一堆文件,如果你刚开始的话,它们会妨碍你的工作。
如果您使用的是Windows,则可以在MingW或Cygwin之间进行选择。Cygwin需要设置一些工作,因为您必须选择要安装的软件包,但我没有使用MingW的经验。

我推荐使用gcc,因为它是为在命令行上使用而设计的,您可以编译简单的程序并准确地看到发生了什么:

g++ -o myprogram myprogram.cc
ls -l myprogram
一个文件输入,两个文件输出。使用VisualC++,大多数人都使用GUI,在那里你必须建立一个项目,IDE生成一堆文件,如果你刚开始的话,它们会妨碍你的工作。
如果您使用的是Windows,则可以在MingW或Cygwin之间进行选择。Cygwin需要设置一些工作,因为您必须选择要安装的软件包,但我没有使用MingW的经验。

Visual Studio在命令行中的行为与GCC类似。只需打开Visual Studio命令行窗口并执行以下操作:


命令行中的VisualStudio的行为与GCC类似。打开t 他打开Visual Studio命令行窗口并:


使用g++或MingW/Cygwin的一个原因还没有提到,那就是启动和IDE会隐藏一些正在发生的事情。例如,理解编译和链接之间的区别将非常有用。从一开始就学会并理解它,你甚至不知道以后应该感谢自己


-Max

使用g++或MingW/Cygwin的一个原因尚未提及,那就是启动和IDE将隐藏一些正在发生的事情。例如,理解编译和链接之间的区别将非常有用。从一开始就学会并理解它,你甚至不知道以后应该感谢自己


-Max

我同意IulianȘerbănoiu的观点:Code::Blocks是一个非常好的解决方案,可以从Linux使用g++/gcc,从Windows使用MS编译器或gcc

请注意,如果只是为了理解头、源、包含等背后的逻辑,您至少应该尝试使用一个好的旧makefile编译一次或两次


作为初学者,不要忘记阅读有关C++和Scott Meyers的书,当你想学习语言的怪癖时,要研究开源高调项目,从他们的代码风格中学习,他们已经遇到了你会遇到的问题,我同意IulianȘerbănoiu:Code::Blocks是一个非常好的解决方案,可以从Linux使用g++/gcc,从Windows使用MS编译器或gcc

请注意,如果只是为了理解头、源、包含等背后的逻辑,您至少应该尝试使用一个好的旧makefile编译一次或两次

作为初学者,不要忘记阅读有关C++和Scott Meyers的书,当你想学习语言的怪癖时,要研究开源高调项目,从他们的代码风格中学习,他们已经遇到了你会遇到的问题,而且可能找到了可行的解决方案……

我说GCC是为了简单的事情,因为对于更复杂的项目,构建过程并不那么容易

没错,但我不认为理解大型项目的构建过程与理解项目本身是正交的。我的上一份工作是,他们有一个庞大的项目,需要为目标平台LynxOS以及仿真环境WinXP构建。他们选择将所有内容都放在一个.VCP文件中,并将其构建为一个大的可执行文件。在target上大约有50个单独的进程,因此他们编写了一个makefile,列出了所有3000个源文件,将它们全部编译到一个大型库中,然后将每个可执行文件的单个main.cpp与一体库链接起来,从而生成50个可执行文件,这些文件与其他可执行文件共享可能10%的代码。因此,没有开发人员知道哪些代码依赖于任何其他代码。因此,他们从不费心在任何东西之间定义干净的接口,因为任何东西都可以从任何地方轻松访问。分层构建系统本可以帮助在一个没有组织的源代码存储库中强制执行某种顺序

如果您不了解.cpp文件如何生成目标代码、静态库是什么、共享库是什么等等,那么在学习C/C++时,您确实需要在某个时候学习它,才能成为一名称职的C/C++开发人员。

我说GCC是为了简单的事情,因为对于更复杂的项目,构建过程并不那么容易

没错,但我不认为理解大型项目的构建过程与理解项目本身是正交的。我的上一份工作是,他们有一个庞大的项目,需要为目标平台LynxOS以及仿真环境WinXP构建。他们选择将所有内容都放在一个.VCP文件中,并将其构建为一个大的可执行文件。在target上大约有50个单独的进程,因此他们编写了一个makefile,列出了所有3000个源文件,将它们全部编译到一个大型库中,然后将每个可执行文件的单个main.cpp与一体库链接起来,从而生成50个可执行文件,这些文件与其他可执行文件共享可能10%的代码。因此,没有开发人员知道哪些代码依赖于任何其他代码。因此,他们从不费心在任何东西之间定义干净的接口,因为任何东西都可以从任何地方轻松访问。分层构建系统本可以帮助在一个没有组织的源代码存储库中强制执行某种顺序


如果你不学习.CPP文件产生目标代码,静态库是什么,共享库是什么等等,当你学习C/C++时,你仍然需要在某个时候学习它是一个合格的C++ C++开发人员。


如果项目复杂,DEFC++的链接将在Linux上使用什么?如果项目复杂,在Linux上使用什么?