Jump to content
From ArchWiki

The Linux kernel and the GNU userland are written primarily in C.

Arch Linux uses the GNU C Library (glibc) as the C standard library; it is a dependency of the base meta package.

You can use the GNU toolchain or the LLVM toolchain to develop software in C, C++ or Objective-C.

## Useful tools

- Valgrind — Tool to help find memory-management problems in programs.

  https://valgrind.org/ || valgrind

- distcc — Distributed compiling GCC front-end.

  https://github.com/distcc/distcc || distcc

- rr — Lightweight recording and deterministic debugging tool for C/C++, uses GDB.

  https://rr-project.org/ || rrAUR

### Static code analyzers

- Cppcheck — A tool for static C/C++ code analysis.

  http://cppcheck.sourceforge.net/ || cppcheck

- Clang has the scan-build static analyzer.
- Splint — A tool for statically checking C programs for security vulnerabilities and coding mistakes.

  https://repo.or.cz/splint-patched.git || splint

- ikos — Static analyzer for C and C++ developed by NASA

  https://github.com/NASA-SW-VnV/ikos || ikosAUR

## Alternative compilers

- TCC — Tiny C Compiler, claims to be faster than GCC.

  https://bellard.org/tcc/ || tcc

- ACK — Amsterdam Compiler Kit.

  http://tack.sourceforge.net/ || ack-gitAUR

- PCC — Portable C Compiler.

  http://pcc.ludd.ltu.se/ || pccAUR

- SDCC — Retargettable ANSI C compiler.

  https://sdcc.sourceforge.net/ || sdcc

See also Wikipedia:List of compilers#C compilers.

## Alternative libc implementations

- dietlibc — a libc optimized for small size

  https://www.fefe.de/dietlibc/ || dietlibcAUR

- musl — Lightweight implementation of C standard library.

  https://musl.libc.org/ || musl

## Libraries

- FFmpeg - includes libav, the audio and video library (not to be confused with the FFmpeg fork of the same name).
- GLib — Low-level system library by GNOME, includes GObject and GIO.

  https://wiki.gnome.org/Projects/GLib || glib2

- GStreamer – pipeline-based multimedia framework

See also:

- GTK/Development#C
- Desktop notifications#C
- Libcanberra#C
- Archiving and compression#Compression libraries
- Wikipedia:Category:C (programming language) libraries
- A list of open source C libraries

## See also

- man pages in section 2 for system calls
- man pages in section 3 for library functions
- GCC and Make – Compiling, Linking and Building C/C++ Applications
- SEI CERT C Coding Standard
- #C IRC channel

Categories:

- Programming languages
- Lists of software