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:

See also