# C

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

- Splint — A tool for statically checking C programs for security vulnerabilities and coding mistakes.

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

- Clang has the scan-build static analyzer.

## 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.

  http://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/ || dietlibc

- 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 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