C: Difference between revisions

From wikinotes
 
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
The C library is implemented much differently from scripting languages like python. A standard is released defining
The C library is released as a standard that defines everything the standard-library should include (ex C99, C97, C11, C17, C18).<br>
what the standard-library should include (ex C99, C97, C11, C17, C18). Libraries are then built from that
Implementations are then built to satisfy the standard (glibc, MSCVRT, ..).
standard (glibc, MSCVRT, ..).


{{ NOTE |
There are different implementations of the C language.
glibc
}}


= Documentation =
= Documentation =
Line 20: Line 14:
|-
|-
| glibc || http://www.gnu.org/software/libc/manual/html_node/index.html || GNU C library (gnu implementation of stdlib)
| glibc || http://www.gnu.org/software/libc/manual/html_node/index.html || GNU C library (gnu implementation of stdlib)
|-
| <code>man libc</code> || https://man.archlinux.org/man/core/man-pages/libc.7.en
|-
|-
| MSVCRT || ?? || Windows implementation of stdlib
| MSVCRT || ?? || Windows implementation of stdlib
Line 31: Line 27:
<blockquote>
<blockquote>
{| class="wikitable"
{| class="wikitable"
|-
| Learn C the hard way || https://github.com/zedshaw/learn-c-the-hard-way-lectures
|-
|-
| Learning C (build lisp) || http://buildyourownlisp.com/contents
| Learning C (build lisp) || http://buildyourownlisp.com/contents
|-
|-
| Portable linux binaries || https://blog.gibson.sh/2017/11/26/creating-portable-linux-binaries/#some-general-suggestions
|}
|}
</blockquote><!-- Tutorials -->
</blockquote><!-- Tutorials -->

Latest revision as of 15:04, 12 February 2023

The C library is released as a standard that defines everything the standard-library should include (ex C99, C97, C11, C17, C18).
Implementations are then built to satisfy the standard (glibc, MSCVRT, ..).


Documentation

wikipedia: stdlib https://en.wikipedia.org/wiki/C_standard_library
devdocs documentation https://devdocs.io/c/ attempt for a one-size-fits all C stdlib
C97, C99, ... https://stackoverflow.com/questions/81656/where-do-i-find-the-current-c-or-c-standard-documents c standard
glibc http://www.gnu.org/software/libc/manual/html_node/index.html GNU C library (gnu implementation of stdlib)
man libc https://man.archlinux.org/man/core/man-pages/libc.7.en
MSVCRT ?? Windows implementation of stdlib
bsd libc ?? OSX, FreeBSD, NetBSD, OpenBSD implementation of stdlib

Tutorials

Learn C the hard way https://github.com/zedshaw/learn-c-the-hard-way-lectures
Learning C (build lisp) http://buildyourownlisp.com/contents
Portable linux binaries https://blog.gibson.sh/2017/11/26/creating-portable-linux-binaries/#some-general-suggestions

C libraries

c external libraries

Intro/Reference

c Python to c
c anatomy
c compilers
c libraries
c valgrind
c stack/heap

Basics

c input/output
c variables
c functions
c loops
c conditionals
c operators
c projects
c pointers
c errors/exceptions
c files/streams