Tutorials Multimedia on the Net
Winter Semester 2006/2007
Introduction
Raphael Wimmer
<raphael.wimmer@medien.ifi.lmu.de>
Why use C in this tutorials?
wide-spread low-level programming language
trying to avoid monoculture
C & C++ often used in mobile/real-time/multimedia applications
Differences C / Java
no object-orientation
direct memory access
no garbage collection
compiled code not platform-independent
source code partially platform-independent (POSIX)
no unified API
low-level hardware/OS access
Open Source Code
lots of existing source code on the net
you may / should use existing code...
... but have to mention your sources
watch the license
Acceptable licenses
(GNU) GPL
LGPL
MIT license
X license
Public domain code
Useful Online C Resources
http://www.cs.cf.ac.uk/Dave/C/
(useful introduction / reference)
http://c-faq.com/index.html
(C FAQ)
http://www.gnu.org/software/libc/manual/html_node/index.html
(GNU C library documentation)
http://www.stack.nl/~dimitri/doxygen/index.html
(Doxygen - code documentation)
http://refcards.com/refcards/c/index.html
(C reference card)
Code Resources
http://www.koders.com/
(code search engine)
http://www.google.com/codesearch
(Google Code Search)
http://freshmeat.net/
(No.1 OS software directory)
http://sourceforge.net/
(No. 1 OS project hoster
Books
RRZN-Dokumentation "Die Programmiersprache C" (LRZ-Benutzersekretariat)
Kernighan & Ritchie: "The C Programming Language"
http://www.pronix.de/pronix-4.html
(free German e-book on C)
short C introduction
pre-processor, compiler, linker
data types
printf, scanf
structs
a minimal C example
int main(int argc, char** argv){ return 0; }