= C = '''C''' is a statically-typed programming language. The design goals were minimalism and mirroring bare metal computer architecture, so as to simplify the process of porting C to new platforms. It allows low-level memory management and features a very concise standard library. <> ---- == Example == A hello world program will look like: {{{ #include int main() { printf("Hello World!\n"); return 0; } }}} To compile and run, try: {{{ gcc -o hello hello.c ./hello }}} ---- == Installation == A C compiler must be installed. Many [[Linux]] and [[BSD]] distributions will have one installed: either `gcc(1)` or `clang(1)`. All distributions will have packages for both available as well. A C library (`libc(7)`) must also be installed. All distributions will have one installed. BSD distributions develop their own libraries, while most Linux distributions use `glibc`. Minimal Linux distributions such as [[Linux/Alpine|Alpine]] use `musl libc`. ---- == Tool Chain == * [[C/BuildFlags|Build Flags]] == Language == * [[C/ANSISequences|ANSI sequences]] ---- == See also == [[https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html|GNU C user manual]] [[https://man.archlinux.org/man/gcc.1|gcc(1)]] [[https://man.archlinux.org/man/extra/clang/clang.1.en|clang(1)]] ---- CategoryRicottone