Linux C programming

This course teaches Linux users how to do C programming, specifically on the Linux operating system. Linux C programming allows the highest performing applications and is necessary for low level programming, especially when dealing with devices and low level internals. We look and implement best practices and build on your previous experience.

Schedule

No public sessions are currently scheduled. We will be pleased to set up an on-site course or to schedule an extra public session (in case of a sufficient number of candidates). Interested? Please let us know.

Intended for

Future C programmers in a Linux environment.

Background

Experience with a Linux system as a user, for example after following the Linux/UNIX fundamentals course. Previous programming experience in other environments is recommended.

Main topics

  • The build process with gcc, make, gdb

Refresh of C pointers and function calls

Version control with git

File operations with gpio

  • Defensive coding and libraries with libusb

Processes

Threads, synchronisation and critical sections

  • Processes vs Threads

Interprocess Communication

Shared Memory and Semaphores

  • Mapped Memory

Pipes

Sockets

  • Devices

/proc and /sys interaction

System calls

mlock, nanosleep, readlink, sendfile, setitimer and sysinfo

Training method

Classical lecture with a lot of exercises. Participants receive the book 'Linux Programming' by Jasper Nuyens. The solutions to the exercises are provided for those with less background.

Duration

5 days.

Course leader

Linux Belgium.


SESSION INFO AND ENROLMENT