For programmers raised on high-level languages like Perl, Java and PHP, working on a C project can be daunting. Still, many open source projects work at a low-level in C to take advantage of the power and speed of working close to the machine. Whether it’s Perl, Postgres or Linux, C is what makes it run.
This session will provide a high-level overview of C, aimed specifically at the programmer wanting to get involved in a C-based open source project. We’ll cover:
- Nothing in C is DWIM (“Do what I mean”)
- Numeric types, strings and structures
- Memory management: the heap, the stack, and pointers
- Using the preprocessor
- Understanding compiler warnings
- Memory checking with valgrind
- How to navigate a large C-based open source project (ctags, etc)
- Security, or, how the Bad Guys smash the stack
Sign up at mchenry.softwarecraftsmanship.org.