JMU - Department of Computer Science
Tools for C/C++ Programming

## 1 Software Development Kits

There are some free C/C++ compilers available, including:

## 2 Graphics/GUI APIs and Libraries

There are some a variety of different C/C++ APIs/libraries available for 2D graphics and/or graphical user interfaces.

The following are for graphics only:

The following are for graphics and also provide "lightweight" GUI functionality:

The following provide full graphics/GUI functionality:

For 3D graphics, the most popular and widely used cross-platform API is OpenGL (which is often used with the very simple windowing system GLUT and the simple graphical user interface system GLUI):

## 3 General APIs and Libraries

There are quite a few C/C++ libraries in the public domain, but you have to be careful. Some sources include:

## 4 Integrated Development Environments

There are a number of commercial Integrated Development Environments (IDEs) that support C/C++. There are also some good free IDEs available, including:

In addition, some other "generic" IDEs support C/C++, including:

## 5 Documentation Tools

There are a number of documentation tools available for C/C++. Some are similar to the javadoc tool that comes with Java, including:

There are also some that use a variety of different approaches, including:

## 6 Unit Testing

Several unit testing tools exist for C/C++, including: