另一篇涵盖非常常见主题的文章。经常出现的问题例如:
- 我可以使用什么 IDE?
- 有哪些编译器?
- 哪个<插入>是最好的?
让我们从
编译器 编译器是一个命令行应用程序(在大多数情况下),它接收你的源代码文件并生成一个可执行文件。生成可执行文件所使用的方法以及生成的可执行文件的大小/优化程度将因编译器而异。
编译器不能帮助你编写代码,它不是一个可以让你输入代码的开发环境。它的唯一目的是接收已编写的代码并构建一个可执行文件。
没有一个编译器比另一个更好。它们都有各自的优缺点。如果你想比较编译器,请从它们自己网站上的技术规格进行比较。在大多数情况下,这样做不会给你带来多大的好处。如果你的关注点是优化,那么在开发高度优化的代码时,最好的办法是遵循标准的编码技术。
一些常见的编译器有
- MS Visual C++ 编译器 (Windows) -
http://www.microsoft.com/express/vc/- GCC (Linux) -
http://gcc.gnu.org/- MingW (Windows) -
http://www.mingw.org/- Intel C++ 编译器 (Linux, Windows, OS X) -
http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284132.htm- Borland C++ 编译器 (Windows) -
http://www.borland.com
集成开发环境 (IDE)
IDE 是一个完整的软件开发套件。通常它们会捆绑文本编辑器、编译器和调试器。文本编辑器是主要组成部分,因为它们提供语法高亮、项目管理、源代码控制集成等功能。
IDE 不是编译器,但大多数 IDE 会附带上一节中列出的编译器之一。
例如,Dev-C++ 附带 MingW,Code::Blocks 附带 GCC。
IDE 的复杂性差异很大,有些更适合新手开发者,有些更适合高级/专业开发者。
注意:在其官方论坛上不再推荐 Dev-C++。应该改用 wxDev-C++。
一些常见的 IDE
易于使用 wxDev-C++ (Windows) -
http://wxdsgn.sourceforge.net/Anjuta (Linux) -
http://anjuta.sourceforge.net/
中等 Code::Blocks (Windows/Linux) -
http://www.codeblocks.org/MS Visual C++ Express (Windows) -
http://www.microsoft.com/express/vc/NetBeans (全部) -
http://www.netbeans.org/ KDevelop (Linux) -
http://www.kdevelop.org/Borland C++ (Windows) -
http://www.borland.com
困难 Eclipse CDT (全部) -
http://www.eclipse.org/
注意:你也可以随意在任何你喜欢的文本编辑器中编写代码,然后手动编译。
调试器 调试器用于在应用程序运行时分析它。你可以在选定的点(断点)暂停应用程序,并查看变量值等信息。
目前,似乎只有 2 个主要的调试器在使用。
Microsoft Visual Studio 调试器 (Windows) 这是一个高质量的调试器。它易于使用,并且与 Visual Studio IDE 无缝集成。在处理多线程时确实存在一些小问题,但总体上工作得非常好。
GDB (全部) 这是一个开源调试器,通常与 GCC/MingW 一起运行。它也是一个质量不错的调试器,但不幸的是,其多线程调试器远远落后于 Visual Studio。
幸运的是,GDB 是平台无关的,并且可以与许多 IDE 集成。不幸的是,这种集成有时非常难以使用且不直观。
请在下方发布更正/评论或问题。
其理由是 Visual Studio 提供了更多功能。尤其是在处理 .NET 时。你可以链接不同语言的程序集,它具有真正的集成源代码控制,并且可以使用其他插件(例如 SVN)。你还可以在一个解决方案中有多个项目等。
它比 Dev-C++(wxDev-C++) 复杂得多。
Eclipse (带 CDT 插件)。
我使用它是因为我的开发同时针对 Windows 和 Linux 系统。所以我更喜欢使用一个可以在多个平台上使用的 IDE。Eclipse 还有一个不错的插件框架,因此我可以在两个安装上使用相同的 SubVersion 插件。
我也使用它,因为它还有我喜欢的其他插件(PHP、数据库、建模等)。
我的编译器是 GCC (Linux) 和 Mingw (Windows)。我在两个平台上都使用 GDB。
MingW 是 GCC 的一个补丁版本。你可以预期源代码中不包含编译器。任何从源代码构建的应用程序都是如此。