====== C ====== ===== General topics ===== ==== Editors ==== ==== Compilers ==== ==== Linkers ==== ==== C standards - Original C (1983). C90 (1990), C99 (1999), C11 (2011) ==== comments ==== (/* */ and \/\/ only in C99) ==== header files ==== - creating your own, header-only programs. C Stdlib headers and how to find them (/include, /usr/include, /usr/local/include/), ifndef/define, (stdbool.h and bool type in C99) ==== creating libraries ==== ==== compiling & linking ==== , ldd, strace, static vs dynamic, linking against built libs with header files, assembly built, C++ built, `extern C` specifying include dirs and library dirs ==== debugging ==== ==== Make and Rake ==== ==== Packaging an app ==== (Source, Debian package) (See: packaging applications) ===== Code examples/cookbook ===== to do ==== hello world ==== to do ==== math operations ==== exponents, modulus ==== control logic ==== (if while switch) ==== functions/enums/structs ==== . ==== linked list/data structures ==== (see: data structures) ==== algorithms ==== (See: algorithms) ==== cli args ==== ==== environment variables ==== ==== arrays ==== ==== pointers ==== ==== function pointers ==== ==== bitwise and binary ==== ==== inline assembly ==== ==== random numbers ==== ==== working with time, sleep, dates ==== #include int main(int argc, char **argv) { sleep(2); return(0); } ==== malloc and free ==== ==== forking ==== ==== terminal colors ==== ==== Using Dialog lib ==== ==== Using curses ==== ==== working with files and dirs ==== ==== stdin/err/out/pipes/fifo/sockets ==== ==== tcp/udp/ssl/ netcat/port scanning/nmap/tcpdump/pcap ==== ==== Linux kernel module ==== ==== libstrophe - XMPP ==== ==== using CURL ==== ==== working with JSON ==== ==== using SQLite ==== ==== Get exif info ==== https://libexif.github.io ==== Embedding Python ==== ==== Writing a Python module ==== ==== Embedding Ruby ==== ==== Writing a Ruby module ==== ==== Using GTK and Glade for GUI ==== ==== Using nuklear header only lib for gui https://github.com/vurtun/nuklear ==== ==== Tkinter gui ==== ==== Using libnotify ==== ==== Archiving - tar/zip ==== ==== Compressing Using zlib/xz/gz ==== ==== Using SDL for graphics/gaming/media ==== ===== other cookbook examples ===== sdl-hello.c array_pointers.c bindbash.c bindshell.c bit_count.c celsius_converter.c copy.c count_chars.c count_digits.c count_lines.c count_words.c exponent.c find_longest_line.c freeglut-hello.c heartbleed-test.c hello_world.c libnotify.c linux_kernel_mod.c minimal.c pcap pointer_cast.c print_ascii_in_binary.c print_decimal.c qsort.c random.c README.md sizeof.c ssl_client.c ssl_get.c ssl_server.c static_lib.c subcopy.c two_d_arrays.c windows-opengl.c ===== More examples ===== * cpp-template.cpp * _computer-terminal * _decryption * _racing-chars * _roman-and-arabic * age-distribution * armstrong-numbers * array-absurdity * beautiful-strings * bit-positions * calculate-distance * capitalize-words * compressed-sequence * ctemplate.c * data-recovery * decimal-to-binary * delta-time * email-validation * even-numbers * fibonacci-series * file-size * find-a-writer * first-non-repeated-character * fizz-buzz * game-of-life * go-template.go * happy-numbers * hex-to-decimal * hidden-digits * java-template.java * json-menu-ids * juggling-with-zeros * lettercase-percentage-ratio * longest-lines * longest-word * lower-case * lowest-unique-number * mixed-content * morse-code * mth-to-last-element * multiples-of-a-number * multiplication-tables * multiply-lists * n-mod-m * nice-angles * number-of-ones * odd-numbers * penultimate-word * php-template.php * prime-numbers * prime-palindrome * py-template.py * query-board * README.md * remove-characters * reverse-and-add * reverse-words * rightmost-char * roadtrip * roller-coaster * roman-numerals * ruby-template.rb * self-describing-numbers * set-intersection * shortest-repetition * simple-sorting * solution_finder.rb * split-the-number * stack-implementation * string-substituion * sum-ints-from-file * sum-of-digits * sum-of-integers * sum-of-primes * swap-case * swap-elements * the-major-element * trailing-string * unique-elements * word-to-digit