C
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.
- distcc — Distributed compiling GCC front-end.
- 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.
- Clang has the scan-build static analyzer.
- Splint — A tool for statically checking C programs for security vulnerabilities and coding mistakes.
- ikos — Static analyzer for C and C++ developed by NASA
Alternative compilers
- TCC — Tiny C Compiler, claims to be faster than GCC.
- ACK — Amsterdam Compiler Kit.
- PCC — Portable C Compiler.
- http://pcc.ludd.ltu.se/ || pccAUR
- SDCC — Retargettable ANSI C compiler.
See also Wikipedia:List of compilers#C compilers.
Alternative libc implementations
- dietlibc — a libc optimized for small size
- musl — Lightweight implementation of C standard library.
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.
- 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