I've just started a job where I'm programming in C on a Mac, which is my first experience using a Mac for development. For now I'm using Xcode as my editor, then using make/gcc/svn at the command line for compiling and source control.
Although it has been discontinued, Borland has released it as abandonware software on their website and a lot of schools still use this software as a simple and very easy to learn C++ editor, compiler, and debugger because of low system requirements and versatility. Non-free C++ Compilers and IDE's Code Forge Professional Integrated Development Environment for Unix/Linux with project management features and edit/compile/debug support for over 30 programming languages.
Is there a good, full featured IDE out there for Macs that will compile C code (something comparable to VS would be ideal), or should I stick with these low level tools?
EDIT: so I called Xcode a 'low level tool' because I was under the impression that it was just a text editor for code, like gvim. I will definitely look into it's compiling/source control features.
idmeanclosed as off-topic by legoscia, showdev, QuinnG, Linger, hexacyanideOct 23 '13 at 19:32
This question appears to be off-topic. The users who voted to close gave this specific reason:
- 'Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.' – legoscia, showdev, QuinnG, Linger, hexacyanide
7 Answers
FrankFranktextmate - Download from Macromates website.
The latest version is textmate2 but some people choose to keep using textmate-1.5 because there are significant differences between the two versions and they're both awesome.
davidcondreyI just stumbled over Qt Creator. It seems to hold up really nice where every other IDE failed me when working with a plain Makefile project.
XCode, Eclipse, IntelliJ or Netbeans wouldn't resolve dependencies, or load my project in a good way. In Qt Creator I could just point to New Project » Import Project » Import Existing Project and voila!
neu242neu242Remember that Objective-C is a superset of C (a pretty pure one, if I recall correctly). You should be able to use XCode for editing, compiling, and debugging.
Here's one solution (which tells you to create a C++ project, then rename main.cpp to main.c)... http://www.cs.nyu.edu/~s70201/C_In_Xcode/Xcode_Tutorial.html
NosrednaNosrednaXcode can manage project and compile for you as any IDE. But if you're familiar with CLI, I would recommand you to use a good editor and your usual build tools. Emacs and vim are available on os x (using xcode just for its editor is not ideal). Many mac dev love the excellent TextMate editor, but it is not a free (as in freedom) software.
FrankObviously 'good' is a subjective decision, but Xcode 3.2 is certainly up to par with what you can do in VisualStudio (if one considers VS good, is another thing of course).
I have a project with 250000+ lines of codes, 10 dylibs, helpfile, all in an SVN (Perforce) etc. and hardly ever go outside Xcode.
Xcode has a few peculiar ways to do some things and the debugger is not quite as powerful as the current one in VisualStudio, but overall there's hardly anything you can not do from within the IDE (and the options to adjust the shortcuts within the IDE, Debugger and Editor to your needs are really awesome).
gcampNot the answer you're looking for? Browse other questions tagged cmacoside or ask your own question.
C is a general purpose procedural programming language that is fairly easy to learn (in that it doesn't have manybuilt-in features to memorize) but is nonetheless sufficiently expressive that it can be used to build any sort ofcomputer program, including whole operating systems likeLinux.C++ is a general purpose object-oriented programming language that was originally created as a superset of C (althoughnowadays the two languages have developed in different directions so that this is no longer strictly true). Thesetwo programming languages, C and C++, are probably among the most popular languages used to write programs.
This page lists numerous free C and C++ compilers, cross-compilers and interpreters for a wide variety ofoperating systems on PCs, Macs and other computers.
If you are looking for C/C++ compilers and cross-compilers for microcontrollers, PDA, calculators(like the HP calculators) and other such devices, you should also check theFree C/C++ Compilers and Cross-Compilers for Microcontrollers,Embedded Systems, PDA, Calculators and Other Devices page. Most of the compilers that can be safely classified under that category has been moved tothat page.
Related Pages
- How to Create / Make a Website: The Beginner's A-Z Guide - start one for your software
- Free C/C++ Source Code and Libraries - don't reinvent the wheel
Free C, C++ Compilers and Interpreters for Computers
This is a fork of the Tiny C compiler (which is listed elsewhere on this page) that is distributed in source form.Like the original Tiny C compiler, it implements many features of the ISO C99 standard. It works on Linux andWindows and is distributed under the GNU General Public License.
For an individual or hobbyist programmer, Microsoft Visual Studio Community appears to include most of theimportant tools of its commercial cousins. Assuming thelistcomparing the various versions is complete, you get the IDE, debugger, optimizing compiler of the full version,the editor, debugging and profiling facilities. With this suite, you can develop programs forthe desktop and mobile versions of Windows as well as Android. The C++ compiler appears to support mostof ISO C++11 and some of C++14 and C++17, while the C compiler is still hopelessly outdated without evenproper C99 (yes, the 1999 standard) support, so there's no need to dream about C11 support. The softwarealso comes with support for building programs with C#, Visual Basic, F# and Python. At the time I wrote this,the site states that Visual Studio Community 2015 is 'free for individual developers, open source projects,academic research, education and small professional teams'.
Clang is a C, C++, Objective C and Objective C++ compiler, developed primarily by Apple. It is part of the LLVM project.(Before you ask, LLVM doesn't stand for anything in particular, although historically, it was short for'Low Level Virtual Machine'. I guess they want to live down that name since it's not a virtual machine inthe sense people use it today.) It implements the various ISO C and C++ language standards, such as C11,ISO C++11, C++14, and parts of C++1z. It also supports various extensions found in the GNU C compiler family.The compiler is released under the BSD licence. Unfortunately, at the time I write this, it is provided only in sourceform, and you will have to compile it yourself.
Like MinGW (listed elsewhere on this page),the MinGW-w64 project provides the libraries, headers and runtime needed for the GNU C and C++ compilers to run on a Windowssystem. In the case of MinGW-w64, these support files allow you to create 64 bit programs in addition to 32 bit ones.The project also provides cross compilers, so that you can compile (say) a Windows program from a Linux systemif you choose.
This is a version of the Open64 compiler suite (see elsewhere onthis page) that has been tuned forAMD processors (and has additional bug fixes). The C/C++ compiler conforms to the ANSI C99 and ISO C++ 98 standards,supports inter-language calling (since it has a Fortran compiler available as well), x86 32 bit and 64 bit code generation,vector and scalar SSE/SSE2/SSE3 code generation, OpenMP 2.5 for shared memory models, MPICH2 for distributed and sharedmemory models, IEEE 754 floating point support, an optimizer that supports a huge variety of optimizations (global,loop-nest, inter-procedural analysis, feedback-directed, etc), etc. It comes with an optimized AMD Core Math Libraryand documentation. This compiler suite requiresLinux.
This is a fork (ie, spin-off) of the seemingly-stalled Open Watcom project (see elsewhere on this page). It can run onand produce executables for Windows (16-bit, 32-bit and 64-bit), Linux (32-bit and 64-bit), OS/2 and MS-DOS (16-bit and32-bit protected mode). For those not familiar with Watcom, it used to be a well-known commercially-sold compiler untilthe original developers discontinued it and released its source code (under the Sybase Open Watcom Public License).
The Watcom C/C++ compiler (now Open Watcom C/C++ compiler) is now open source and free. This compiler, whichgenerates code for Win32, Windows 3.1 (Win16), OS/2, Netware NLM, MSDOS (16 bit and 32 bit protected mode), etc,was a highly coveted compiler some years back (until Sybase terminated it). The compiler also includes the ratherwell-known STLport (a C++ Standard Template Libraryimplementation). Update: this project seems to have stalled, and there is a new Open Watcom V2 Fork project(see elsewhere on this page) in progress.
Digital Mars C/C++ is a drop-in replacement for the Symantec C++ compiler, with support for compiling programs for Win32, Windows 3.1, MSDOS, and32-bit extended MSDOS. If the target machine does not have a floating point processor (pre-Pentium machines), you can link thefloating point emulation into your program. The compiler supports the C++ definition found in The Annotated C++ Reference Manual (ARM)and the enhanced language features of AT&T version 3.0, including templates, nested classes, nested types, exception handling, andruntime type identification.
This is actually a graphical source level debugger for X Window, but it contains a built in C interpreter which can handle single ormultiple source files. You can use it to build a byte-code executable and execute the interpreter on that executable. If you need aninterpreter to debug or prototype programs, or to just learn the language, check this out. It supports the following platforms: Solaris,SunOS, Linux,FreeBSD, BSD/OS, and possibly other Unices.
Remember the old (famous) BDS C compiler for 8080/Z80 CP/M systems? It is now in the public domain, complete with assembly language source code.The package is the retail version of the compiler, with a linker and user manual. Before you scoff at this, remember that it canbe used to generate 8080/8085/Z80 code for embedded systems with a little bit of work (ie, write your own routines to replace any runtime library codethat access the operating system functions).
This is a Win32 integrated development environment that includes the egcs C++ compilerand GNU debugger from the Mingw32 environment together with an editor and otherfacilities to make program development using the Mingw32 gcc compiler easier ona Windows platform. It also includes an installer for your applications.
The Smaller C compiler is a single-pass compiler that generates 16 or 32 bit Intel x86 (80386 and later) assembly languagecode for NASM, YASM or FASM (which are freeaseemblers), that can then be assembled and linked on Windows, Mac OS X, Linux and DOS. It can also generate code for theMIPS and TR3200 CPUs. The language supports most of ANSI C89 standard and some of the ANSI C99 features. It is capableof compiling itself. At the time this entry was written, though, the standard C library is still a work-in-progress.
Orange C Compiler is an optimising ('optimizing' if you useother variants of English)C compiler that supports the latest C standards like C99 and C11. It runs on Windows as well as DOS, has an integrateddevelopment environment with a programmingeditor (featuring syntax highlighting and code completion),make utility,debugger and aWin32 resource editor.It can generate programs for Win32 and MSDOS, as well as Intel and Motorola hex files (which is useful if youwrite programs for embedded systems). For MSDOS output, your programs will use aDOS extender. The authorof this program also produces the CC386 compiler, which is also listed onthis page.
PCC is based on the original Portable C Compiler by S C Johnson. The goal of the project is to write a small, fast C compiler that can compile C99 source code.The compiler is a two-pass compiler that runs on OpenBSD and NetBSD.
DeSmet C will be familiar to those who programmed in C in the 1980s. It is an MSDOS C compiler. It has been released under the GNU GPL,and comes with manuals, an editor, and a third party optimizer.
Xcode is Apple's integrated development environment which includes a syntax-highlighting editor, a build control system, a debugger, the GNU C compiler (gcc),an interface builder, AppleScript Studio, Java development support, WebObjects development tools, etc. You need to be an Apple Developer Connection (ADC)member to get the tools, but it appears that online membership is free.
[Update: the author says on the website that he is no longer working on the compiler. See elsewhere onthis page for a fork of this project, which is still ongoing at the time this is written.]This small Linux andWindows C compiler generatesoptimized x86 native binaries. It purportedly compiles, assembles and links several times faster than GCC.The compiler is currently moving towards ISO C99 compliance. It also includes an optional bounds checker. It also handlesC script files (just add the shebang line '#!/usr/local/bin/tcc -run
' to the first line of your C source codefile on Linux to have it executed directly). TCC is distributed under the GNU General Public License.
This is a set of Objective C class libraries and a compiler that translates your Objective C code to plain C code. It works on Windows,Linux, OS/2, Macintosh, etc.
This system comes with the GNU C/C++ compiler, which you can use to generate Win32 executables. It has its own <windows.h> which isin the public domain. Applications generated using this system are supposed to be faster than those generated by the Cygwin32 system(see elsewhere on this page), and they are free from the encumberances of the GNU license. Like other systems based on the GNU tools, Mingw32comes with complete with various programming tools, such as a program maintainence program (ie, make), text processing tools(sed, grep), lexical analyser generator (flex), parser generator (bison), etc. It also comes with a resource compiler, allowing you to compile yourWindows resources.
This is the GNU C compiler page, from which you can get links to binaries and source code for the GNU C Compiler. You can also use our links on thispage for the most commonly requested binary versions (MSDOS and Win32).
This is another Windows-hosted C compiler that is based on LCC (see also LCC-Win32 elsewhere onthis page). It containsa C compiler, linker, resource compiler, message compiler, a make utility, etc. It compiles code for both Windows and Pocket PC.
This is a development system based on the well-known GNU C/C++ compiler. It generates 32 bit MSDOS executables that is Windows 95 long-filename-aware.It is a very complete system with IDEs, graphics libraries, lexical analyser generators (flex), parser generators (bison),text processing utilities (like grep, sed), a program maintainence utility (ie, make), a dos extender, and so on. The compiler, utilitiesand libraries come with source code.
Cilk is an ANSI C-based language that can be used for multi-threaded parallel programming. It 'is especially effective for exploitingdynamic, highly asynchronous parallelism increate programs with the power and readability of Cwhile retaining the efficiency of assembly language.' It can produce MSDOS executables or.OBJ files which you can use in conjunction with other linkers to generate an executable.The above link leads to the source code and documentation for the compiler. If you want aprecompiled binary, you can get it from the Unofficial Sphinx C-- Compiler site.
The website for this compiler is written in Japanese, which I don't understand, but I gather that thisis a cross-compiler that allows you to generate ROMable code. An older version (3.30c) of the compiler appearsto be free. The free version runs onMSDOS only.
This is a C cross-compiler that targets the Intel 8051, DS390, Z80, HC08 and PIC microprocessors.It can also be retargetted for other 8 bit MCUs or PICs. It comes with a retargetable assembler and linker,a source level debugger and a simulator, and it is capable of a variety of optimisations. The libraries are Standard C99 compatible.Source code for the compiler is available under GPL. Host platforms supported include Linux, Windows, Mac OS X, Alpha, Sparc, etc.
This is an ANSI C compiler for MSDOS/DPMI and Win32 that comes with a runtime library, linker,rudimentary debugger, DOS extender (MSDOS version), an IDE (Win32 version) and a make utility.Source code is also available. It compiles most of the C99 constructs when ran in C99 compatibility mode.
This 'project' includes a commercial quality compiler (GNU C/C++) that generates Win32 GUI and console applications. I have not used thisport myself, but based on what I read, it appears that they have their own <windows.h> and so on. Source code for the compiler,libraries and tools are provided. Note that the default option in this package forces you to distribute your source code if you compileand link with their libraries. There is also a special option that you can invoke which will cause it to link with alternative libraries,allowing you to distribute your applications without sources.
Free C++ Compiler Online
LCC is a C compiler (source code only) that generates code for the Alpha, Sparc, MIPS R3000 and Intel x86. There is also a bookA Retargetable C Compilerwritten by the authors of the compiler that explains the code of the C compiler. The link above points to a newer versionof LCC (by the same authors) than that described in the book.
Free C++ Compiler Editor For Mac Os X
Cyclone C is not strictly an ANSI C compiler but a compiler of a 'safe dialect' of C. It enforces type safety, has a variety of checks toprotect against buffer overflows, array-bound violations, etc. It currently works onLinux and Windows(the latter via Cygwin), and requires you to have the GNU compiler tools on your system (see elsewhere onthis page).
[Update: this project has been discontinued.]Leonardo IDE is a Macintosh-based IDE, compiler and debugger for C programs. It has a syntax highlighting editor, an ANSI C compiler, a compiler for theALPHA visualization language, a graph editor, a reversible virtual CPU, etc. Note that the programs are not compiled to native code butto code to be executed for the virtual CPU. The virtual machine and debugger allows you to execute code forwards and backwards and supports multitasking.The IDE comes with animated algorithms, plus example source code for games like Tetris, Checkers, etc. The IDE is useful for checking and debugging yoursource code, search for memory leaks, etc.
The old but famous Turbo C 2.01 for DOSis available for free from the new owners of the (formerly) Borland development tools. This was a well-loved compiler from theMSDOS days, known for its fast compilation times, integrateddevelopment environment ('IDE'), and (DOS-based) graphicslibrary.
Ch is a C/C++ interpreter that supports the ISO 1990 C Standard (C90), major features in C99 (complex numbers, variable length arrays or VLAs,type generic functions, the 'long long' data type, etc), classes in C++, and extensions to the C language like nested functions, string type,etc. It can be embedded in other applications and hardware and used as a scripting language. Your C/C++ code is interpreted directly withno compilation to intermediate code. Since it supportsLinux, Windows, MacOS X, Solarisand HP-UX, it means that your code should be portable to any of those platforms once you write it for this compiler. The standard editionis free for personal, academic and commercial use. You need to register to download the package.
[Update: this compiler is no longer available. For the record, it used to be found atwww.cs.virginia.edu/~lcc-win32/
.]This is a C compiler that generates Win32 GUI and console applications. It comes with its own linker, IDE, debugger, resource editor and resource compiler.LCC-Win32 is based on the LCC compiler (see elsewhere on this page) and is freeonly for non-commercial use.
[Update: this compiler is no longer available. For the record, it used to be found ath30097.www3.hp.com/linux/compaq_c/index.html
.]Linux/Alpha users can now download and use Compaq's optimising C compiler freely by simply filling a form and agreeing totheir license agreement. The compiler may be used to generate any sort of program, commercial or otherwise. The compiler includes amath library and a debugger (ladebug) ported from True64 Unix. It comes with the usual man pages as well as a Language Reference Manual anda Programmer's Guide.
Html Editor For Mac
- Free x86 (PC) Emulators and Virtual Machines - test your apps in multiple OSes without rebooting
- How to Register Your Own Domain Name - get one for your software
Best C++ Compiler For Mac
- How to Register Your Own Domain Name - how to get your own domain name
Free C++ Compiler Editor
It will appear on your page as: