Comparison of popular compilers and IDEs

Published by chrisname
Last update on May 30, 2010 at 8:43pm UTC

  

Note: This article is a work in progress but if you do read it, please feel free to PM your improvements to me. Thanks.

The Difference

People often confuse the difference between a 'compiler' and an 'IDE', which I guess is born from the fact that most IDEs come with a compiler.

Compilers

A compiler is a program which takes source code written by a programmer and creates an executable file.

Different compilers do this in different ways -- many compilers consist of a compiler, assembler and linker, although some do the assembling and linking themselves.

A compiler, then, must create assembly code from the source code given and pass it to the assembler. The assembler creates object code from the assembly code and then passes the object files on to the linker. The linker finally creates the exectuable file that you can run.

IDEs

IDE can either stand for Integrated Drive Electronics (which is a totally irrelevant (and far more complicated) topic) or Integrated Development Environment.

An IDE is a program or (more usually) a group of programs which are used for program development. An IDE usually consists of a syntax-highlighting text editor and a lot of buttons and toolbars and such to help you to write code efficiently.

IDEs often come bundled with a compiler suite as well as a debugger and some have more advanced features such as find-and-replace and auto-completion.

Comparisons

Compilers
There are many popular compilers, among them the GNU Compiler Collection (GCC) which includes gcc and g++ (the GNU C Compiler and GNU C++ Compiler) and Microsoft's Visual C and Visual C++ compilers. There are many other compilers of varying qualities, such as the Borland C/C++ compilers, the Intel C++ compiler and the [Open]Watcom Compilers. We will focus on gcc and Visual C in this article as they are the most popular compilers.

gcc/g++
  • Free/Open-Source -- gcc can be modified, derived or redistributed by anyone given that the modified/derivied/redistributed version remains licensed under the GNU General Public License (GPL)
  • Cross-platform -- as gcc is open source, it has successfully been ported to various platforms including Linux, Microsoft Windows and Mac OS. If you are a Linux user you almost certainly have gcc installed already. You may have to install g++ separately, in which case you should use your distribution's package manager or download the source code. On Windows, you can find gcc in the MinGW and Cygwin packages.
  • Fast -- as a modern, optimizing compiler gcc produces relatively efficient code


Note: gcc and g++ should not be capitalized (to distinguish gcc from GCC).

Microsoft Visual C/C++
  • Free -- a version of Visual C/C++ (which may or may not be crippleware) is available for non-commercial use from Microsoft's website.
  • Debugger -- Visual C/C++ is often acclaimed for it's powerful debugger.


Others
Other compilers also exist. Among these are OpenWatcom and the Intel C++ Compiler. OpenWatcom is a cross-platform (Windows, MS-DOS, Linux and others) optimizing compiler which can produce 16-bit code (something gcc cannot do). The Intel C++ compiler provides very thorough optimization.

IDEs
Popular IDEs include

  • Dev-C++ (note: you are recommended to use wxDev-C++ instead as Dev-C++ has not been updated for 5 years)
  • Code::Blocks
  • Netbeans
  • Microsoft Visual Studio
  • Eclipse
  • KDevelop

http://www.cplusplus.com/articles/chrisname1/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值