User Tools

Site Tools


programming:c

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

sleep.c
#include <unistd.h>
 
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

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
programming/c.txt · Last modified: 2021/04/15 20:23 by nanodano