Debugging C programs using the powerful GNU Debugger (GDB). Learn essential GDB commands for setting breakpoints, stepping through code, inspecting variables and memory, analyzing stack traces, using watchpoints, and debugging core dumps.
Low-level system programming using C. Learn about system calls, direct memory manipulation, file descriptors, and interacting closely with the operating system for maximum control and performance.
Learn essential techniques to optimize your C code for maximum speed and efficiency. Explore profiling tools, compiler flags, data locality, algorithmic choices, loop optimizations, and more to make your C programs run faster.
Learn how independent processes written in C can communicate and share data on Unix-like systems using various Inter-Process Communication (IPC) mechanisms. Explore pipes, FIFOs, shared memory, and message queues with conceptual explanations and basic usage patterns.
Connect your C programs with the internet! Learn the fundamentals of network programming using the Berkeley Sockets API. Understand client-server architecture, TCP/IP, and master key functions like socket(), bind(), listen(), accept(), and connect() with practical C examples.
Unlock the power of concurrent execution in your C programs! Learn how to create, manage, and synchronize threads using the POSIX Threads (pthreads) library for improved performance and responsiveness. Covers thread creation, joining, mutexes, and common practices.