C compilers exist for many architectures.

C compilers

Linux

C files can be compiled on any Linux system using gcc -x c filename.c, clang -x c filename.c, or llvm-gcc -x c filename.c. Most systems will have only one of these three installed; it does not matter which one you use.

Windows

On Windows the MinGW project has a version of gcc that will probably work for most C labs, though you will need to install it yourself. Microsoft’s compiler toolchain can compile C using cl.exe /Tc filename.c, but we have never tested how well it works. If you do, please report how you found it.

Alternatively, the following all attempt to create more complete POSIX-like environments for Windows:

OS X

On OS X, Xcode ships with a version of clang or with llvm-gcc (they call it just gcc). On some versions of the OS it is located inconveniently (/Applications/Xcode.app/Contents/Developer/usr/bin/gcc in 10.7 Lion) but can be placed where you can more easily access it from the Terminal via XCode’s Preferences → Downloads → Command Line Tools → Install.

Other

If you use another OS (FreeBSD, Haiku, Irix, etc) hopefully you know how run a C compiler already.

Rust compilers

We will use a tool maintained by the instructor that is written in Rust. We will supply precompiled binaries for this tool for Linux and OS X, so it should not be necessary for you to install Rust on these systems. But if you want to do so (for example, you are using an OS on which our precompiled binaries do not work), follow the instructions on https://rustup.rs/