Best C compilers
There are plenty of C compilers available online. Most of the compilers are available for free however, some compilers and IDE packages are paid. Depending on the user's operating system and the platform, there are lots of C compiler options to choose from. A new programmer often gets the doubt of choosing the best C compiler available in the market. Most C compilers come with a built-in source code editor as a development package. Editors help the developer to write source codes and provides compilation/build options. They are often called as IDE or the integrated development environment. This article tells how to download and use the most popular and best C compilers and toolchains.
GNU C Compiler
GNU C Compiler or GCC is the most popular and most widely used among the developers who use C as their programming language. GCC is an open-source compiler and comes free with all flavors of Linux and Unix distributions. GCC is also available in Macintosh computers running Mac OS X. GCC is not very popular in Windows platform. However, though several ports of GCC are available in Windows. Cygwin gcc is one of them. Dev-C++ is another one is port of GCC in MinGW. Source code of GCC can be downloaded and can be customized for different platforms. GCC is ported to different CPU architectures like Itanium, ARM, PowerPC, Motorola 68K, Xscale, Atmel etc, and cross-compilers are produced. Cross-compilers are majorly used in different real-time and embedded systems development.
Windows 10 C compilers
Microsoft C Compiler comes with Visual Studio/VC++/Windows SDK or Windows DDK/WDK software package. Some of this comes as free and some are paid. Intel C++ compilers are also available for x86 platforms running Windows or Linux.
Turbo C/C++ compiler is available for FreeDOS and MS DOS operating system. These also run in Windows Command prompt under Windows 95/98/XP/ME. DJ's GNU Programming Platform or DJGPP in short is a GCC port for x86/i386 runs under DOS platform. Borland C/C++ compiler was available for DOS and Windows 32 bit systems. TurboC, Borland C, DJGPP are used to develop applications for DOS, VGA based DOS Games and BIOS code.
Small-C - is a subset of the C programming language. It is suitable for resource-limited computers. It was implemented for embedded systems and early computer systems. Originally valuable as an early compiler for microcomputer systems available during the late 1970s and early 1980s. The implementation has also been useful to teachers and students and was simple enough for teaching purposes. The original compiler, written in Small-C for the Intel 8080 by Ron Cain, appeared in the May 1980 issue of Dr. Dobb's Journal of Computer Calisthenics & Orthodontia. James E. Hendrix improved and extended the original compiler, and wrote The Small-C Handbook. Ron bootstrapped Small-C on the SRI International PDP 11/45 Unix system with an account provided by John Bass for Small C development. The provided source code was released with management permission into the public domain.
LCC- "Local C Compiler" or "Little C Compiler" is a small source code size retargetable compiler for the ANSI C programming language. It was developed by Chris Fraser and David Hanson. Its source code is available for personal use with a condition of no modification. It is not open-source software or free software according to the usual definitions. Products derived from LCC may not be sold, although components not derived from LCC may be sold.
Tiny C Compiler- Tiny C Compiler is known for its overall small size. It can compile and execute C code on any storage drive however small like a rescue disk. (about 100KB for x86 TCC executable, including C preprocessor, C compiler, assembler and linker). FAST! tcc generates x86 code. No byte code overhead. Compile, assemble and link several times faster than GCC. UNLIMITED! Any C dynamic library can be used directly. TCC is heading torward full ISOC99 compliance. TCC can of course compile itself. SAFE! tcc includes an optional memory and bound checker. Bound checked code can be mixed freely with standard code. Compile and execute C source directly. No linking or assembly necessary. Full C preprocessor and GNU-like assembler included.
PCC - The Portable C Compiler (PCC) or Portable C compiler machine (PCCM) is an early compiler comes under educational purposes. This C programming language was written by Stephen C. Johnson of Bell Labs in the mid-1970s, based in part on ideas proposed by Alan Snyder in 1973, and "distributed as the C compiler by Bell Labs... with the blessing of Dennis Ritchie.
GNU GCC is an open source C compiler. GCC comes under GNU open source license. Source code of GCC is also available for download. One can contribute to GCC source code. GCC can be recompiled to make a new version. GCC is by default runs under Linux. RHEL, Fedora, Ubuntu, Suse and all other Linux distributions maintain package manager to download and install gcc in the system. Download GCC source. #Free Compiler, #Linux Compiler.
XCode editor software in Mac packages GCC compilers. XCode can be downloaded on Mac using Apple App store. However GCC can be installed without XCode. Download and install “Command Line Tools.mpkg“ and this will install GCC and some commonly used command line tools. Download XCode.#Free Compiler, #Mac Compiler.
Cygwin is linux tool chains under Windows. These are a bunch of executables and run time libraries installed under a folder and a command shell gives linux type of emulation. GCC can be installed under Cygwin. Download Cygwin. #Free Compiler, #Windows Compiler, #Windows 10 Compiler.
Mingw is "Minimalist GNU for Windows" tool chains under Windows. MinGW (Minimalist GNU for Windows), formerly mingw32, is a free and open source software development environment to create Microsoft Windows applications. The development of the MinGW project has slowed down since the creation in 2013 of an alternative project called MinGW-w64 by a different author. MinGW includes a port of the GNU Compiler Collection (GCC), GNU Binutils for Windows (assembler, linker, archive manager), a set of freely distributable Windows specific header files and static import libraries which enable the use of the Windows API, a Windows native build of the GNU Project's GNU Debugger, and miscellaneous utilities. MinGW does not rely on third-party C runtime dynamic-link library (DLL) files, and because the runtime libraries are not distributed using the GNU General Public License (GPL), it is not necessary to distribute the source code with the programs produced, unless a GPL library is used elsewhere in the program. Download Mingw.#Free Compiler, #Windows Compiler, #Windows 10 Compiler.
Visual C++ compiler
Microsoft Visual C++ (often abbreviated to MSVC) is an integrated development environment (IDE) product from Microsoft for the C, C++, and C++/CLI programming languages. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both trialware and freeware forms. It features tools for developing and debugging C++ code, especially code written for the Windows API, DirectX and .NET. Many applications require redistributable Visual C++ runtime library packages to function correctly. These packages are often installed independently of applications, allowing multiple applications to make use of the package while only having to install it once. These Visual C++ redistributable and runtime packages are mostly installed for standard libraries that many applications use. Download Visual Studio.#Free Compiler, #Paid Compiler, #Windows Compiler, #Windows 10 Compiler, #Best Windows 10 Compiler.
Intel C compiler
Intel provides their own C/C++ compilers for the x86 systems. These are good compilers and Intel C++ Compiler, also known as icc or icl, is a group of C and C++ compilers from Intel available for Windows, Mac, Linux, FreeBSD and Intel-based Android devices. Intel C compiler. #Paid Compiler, #Windows Compiler, #Windows 10 Compiler.
Turbo C is a discontinued Integrated Development Environment and compiler for the C programming language from Borland. First introduced in 1987, it was noted for its integrated development environment, small size, fast compile speed, comprehensive manuals and low price. In May 1990, Borland replaced Turbo C with Turbo C++. In 2006, Borland reintroduced the Turbo moniker. Turbo C for Windows 7/8/8.1/10 #Free Compiler, #Windows Compiler, #Windows 10 Compiler, #Best Compiler.
DJ's GNU Programming Platform (DJGPP) is a software development suite for Intel 80386-level and above, IBM PC compatibles which supports DOS operating systems. It is guided by DJ Delorie, who began the project in 1989. It is a port of the GNU Compiler Collection (GCC), and mostly GNU utilities such as Bash, find, tar, ls, GAWK, sed, and ld to DOS Protected Mode Interface (DPMI). Supported languages include C, C++, Objective-C/C++, Ada, Fortran, and Pascal. DJGPP was described as an "aging" product in 2004. Download DJGPP #Free Compiler, #Windows Compiler, #Windows 10 Compiler, #Best Compiler.
Borland C++ is a C and C++ IDE (integrated development environment) for MS-DOS and Microsoft Windows. It was the successor to Turbo C++, and included a better debugger, the Turbo Debugger, which was written in protected mode DOS. Download Borland C++ #Free Compiler, #Windows Compiler, #Windows 10 Compiler, #Best Compiler.
is a free full-featured integrated development environment (IDE) distributed under the GNU General Public License for programming in C and C++. It is written in Delphi. It is bundled with, and uses, the MinGW or TDM-GCC 64bit port of the GCC as its compiler. Dev-C++ can also be used in combination with Cygwin or any other GCC-based compiler. Dev-C++ is generally considered a Windows-only program, but there are attempts to create a Linux version: header files and path delimiters are switchable between platforms. Download Dev-C++. #Free Compiler, #Windows Compiler, #Windows 10 Compiler, #Best Compiler.
Best C cross-compilers
All the above compilers mostly creates output for x86 platform and also runs in x86 platform. Embedded systems mostly runs on ARM or other microprocessors and microcontrollers. The machine code generated for x86 can not run on those systems. To compile and generate required machine code we require a cross compiler. Cross compilers are those which runs on one processor architecture and generates machine code for other architecture. Now for example we require to generate executable for Raspberry pi board or machine code for ARM processor so we require ARM cross-compiler on x86 platform. There are many cross-compilers available. These compilers run in x86 platform in Windows or Linux and generates output for other platform like Itenium IA64 , ARM, Atmel, PIC etc. HP C Cross Compiler is for Itenium Processor. ARM-GCC port cross compiler is for ARM based platforms.
There are Cross GCC compilers available for processors like MIPS, PowerPC, 68K, Xscale IAR C/C++ cross compilers are for Atmel Processors. MPLAB XC is for Microchip PIC Processor. Download ARM GCC.
WinAVR (pronounced "whenever") is a suite of executable, open source software development tools for the Atmel AVR series of RISC microprocessors hosted on the Windows platform. It includes the GNU GCC compiler for C and C++ . WinAVR contains all the tools for developing on the AVR. This includes avr-gcc (compiler), avrdude (programmer), avr-gdb (debugger), and more! WinAVR is used all over the world from hobbyists sitting in their damp basements, to schools, to commercial projects. WinAVR is comprised of many open source projects. If you feel adventurous, volunteers are always welcome to help with fixing bugs, adding features, porting, writing documentation and many other tasks on a variety of projects. Download WinAVR.
MPLAB X Integrated Development Environment (IDE) is an expandable, highly configurable software program that incorporates powerful tools to help you discover, configure, develop, debug and qualify embedded designs for most of Microchip’s microcontrollers and digital signal controllers. MPLAB X IDE works seamlessly with the MPLAB development ecosystem of software and tools, many of which are completely free. Download MPLAB X.
Best C Editors, IDEs
Source code editors are the software tools used to edit the source files. C source code files are normal ASCII text files. VI, nano, notepad etc are the basic tools that can be used as editors. However, source code editors give much more functionalities and facilities to the developers.
Source code editors often give these features and flexibilities to the end-users.
- Keyword highlighting
- Module highlighting
- Syntax error and correction
- Symbol lookup
- Auto completions of typing and suggestiobns
- Auto save
- Syntax highlighting and corrections
- Navigation of functions and files
- Shortcuts for compilation and building
- Debugging and running
Some source code editors capable of doing all the development-related activities in one place. Editing source code, object compilation, linking and building and then running and source-level debugging etc are the activating need in development and all can be done with the same editor. These editors are often called IDE or integrated development environment. Visual Studio, Xcode, Eclipse are well known for their IDEs among the developers.
Vim or Vi Improved is an improved version of VI editor. , with additions, of Bill Joy's vi text editor program for Unix. Vim's author, Bram Moolenaar, based it upon the source code for a port of the Stevie editor to the Amiga and released a version to the public in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface. Vim is free and open-source software and is released under a license that includes some charityware clauses, encouraging users who enjoy the software to consider donating to children in Uganda. The license is compatible with the GNU General Public License through a special clause allowing distribution of modified copies "under the GNU GPL version 2 or any later version". Since its release for the Amiga, cross-platform development has made it available on many other systems. In 2006, it was voted the most popular editor amongst Linux Journal readers; in 2015 the Stack Overflow developer survey found it to be the third most popular text editor, and the fifth most popular development environment in 2019. Download VIM.
Emacs or EMACS is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, self-documenting, real-time display editor" Download Emacs.
Notepad++ is a very light weight text editor and source code editor for use with Microsoft Windows. It supports tabbed editing, which allows working with multiple open files in a single window. The project's name comes from the C increment operator. Notepad++ is distributed as free software. At first the project was hosted on SourceForge.net, from where it has been downloaded over 28 million times, and twice won the SourceForge Community Choice Award for Best Developer Tool. The project was hosted on TuxFamily [fr] from 2010 to 2015; since 2015 Notepad++ has been hosted on GitHub. Notepad++ uses the Scintilla editor component. Download Notepad++
SlickEdit, previously known as Visual SlickEdit, is a cross-platform commercial source code editor, text editor, code editor and Integrated Development Environment developed by SlickEdit, Inc. SlickEdit supports Integrated Debuggers for GNU C/C++, Java, WinDbg, Clang C/C++ LLDB, Groovy, Google Go, Python, Perl, Ruby, PHP, Xcode, and Android JVM/NDK. SlickEdit includes such features as built in beautifiers that can beautify code as you type, code navigation, context tagging (also known as Intelligent code completion), symbol references, third party tool integration, DiffZilla (a file differencing tool), syntax highlighting, and over 13 keyboard emulations. Download Slickedit
Xcode is an integrated development environment (IDE) for macOS containing a suite of software development tools developed by Apple for developing software for macOS, iOS, iPadOS, watchOS, and tvOS. First released in 2003, the latest stable release is version 11.3 and is available via the Mac App Store free of charge for macOS Catalina users. Registered developers can download preview releases and prior versions of the suite through the Apple Developer website. Download XCode
Visual Studio Code
Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft and this is most popular in Windows platform. Compilers of C, C++, C#, basic are a part of visual studio package. It is used to develop computer programs using programming languages like C, C++, C#, Visual Basic, VB script, Java script etc. HTML, scripts, CSS, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight. It can produce both native code and managed code. Download Visual Studio
Visual Studio Code is a cross platform editor from Microsoft. Visual Studio Code can be used under Windows, Linux and Mac OS. This editor can use with compilers like GCC and provides a good experience to the developers. Download Visual Studio Code
Source Insight is a C/C++ source code editor by Source Dynamics. Source Insight provides syntax highlighting, code navigation and customizable keyboard shortcuts. It is one of the best C/C++ editor as well as an IDE to understand a large source code base. It for this reason is called "program editor and analyzer." It is agile and lightweight providing useful features such as relation, context, and symbol windows. It also can display reference trees, class inheritance diagrams, and call trees, as it builds an internal database of symbolic information as it self-parses the source. Its greatest benefit is to speedup code comprehension on an unfamiliar project. Download Source Insight
Sublime Text is a shareware cross-platform source code editor with a Python application programming interface. It natively supports many programming languages and markup languages, and functions can be added by users with plugins, typically community-built and maintained under free-software licenses. Download Sublime Text
Code::Blocks is a free cross platform IDE editor for C, C++ and Fortran. It is an editor to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable. Finally, an IDE with all the features you need, having a consistent look, feel and operation across platforms. Built around a plugin framework, Code::Blocks can be extended with plugins. Any kind of functionality can be added by installing/coding a plugin. For instance, compiling and debugging functionality is already provided by plugins! Download Code::Block
OnlineGDB is an amazing html based editor platform works within webbrowser. This can be accessed and used by any user running in any operating system. OnlineGDB provides a good source code editor and backend compiler and running and debugging environment. The backend of this subsystem runs inside the webserver. This editor is nice to try basic programs and good for add-hoc practices. Download OnlineGDB
About our authors: Team EQA
You have viewed 1 page out of 248. Your C learning is 0.00% complete. Login to check your learning progress.
Learn on Youtube