Linux Application Development

Cloud & DevOps cppcgdbgcclinuxcmakethreadssocketsmakeposixipc

Five-day hands-on course for C/C++ developers on Linux: the full compilation pipeline (GCC, Clang, assembly, linking), static and shared libraries, build systems (Make, CMake), debugging (GDB, Valgrind, AddressSanitizer), system calls and memory management, file system APIs, process management and IPC, signals, POSIX threads, thread synchronisation, socket programming, and I/O multiplexing.

Upcoming sessions

No upcoming sessions are scheduled yet.

BUILD TOOLSThe Compilation Pipeline3BUILD TOOLSGCC — The GNU CompilerCollection2BUILD TOOLSLibraries3BUILD TOOLSBuild Systems: Make2TOOLCHAINVersion Control &Development Environments2DEBUGGINGGDB — The GNU Debugger3DEBUGGINGAdvanced Debugging Tools4SYSTEMS PROGRAMMINGSystem Calls3SYSTEMS PROGRAMMINGMemory Management4FILE I/OLinux File Systems2FILE I/OFile I/O APIs3FILE I/OAdvanced File Operations3FILE I/OAdvanced I/O Techniques3PROCESSESProcess Fundamentals3PROCESSESInter-ProcessCommunication4PROCESSESSignals3PROCESSESAdvanced Process Topics2CONCURRENCYPOSIX Threads3CONCURRENCYThread Synchronisation3NETWORKINGSocket Programming3NETWORKINGI/O Multiplexing & BestPractices3LECTURELECTURELECTURELECTURELECTURELECTURELECTURELECTURELECTURELECTURELECTURELECTURELECTURELECTURELECTURELECTURELECTURELECTUREPreprocessing, Compilation& AssemblyLinking: Static & DynamicLab: Inspect Each GCCStageGCC Flags: optimisation,warnings, standardsLab: Compiler Flags inPracticeStatic Libraries: ar, nm,linkingShared Libraries: PIC,soname, versioning,…Lab: Create and Link aShared LibraryMakefile FundamentalsLab: Automate a Multi-FileBuildGit Basics for DevelopersDevelopment EnvironmentSetup & Code Quality ToolsGDB Fundamentals: break,step, watch, backtraceCore Dumps, TUI & RemoteDebuggingLab: Debug a CrashingProgramValgrind: memcheck &helgrindAddressSanitizer, UBSan &ThreadSanitizerstrace, ltrace & perfOverviewLab: Detect and Fix MemoryBugsSystem Call Mechanism &the ABIError Handling: errno,strerror & perrorLab: Call System CallsDirectlyVirtual Memory Model & theHeapDynamic Allocation:malloc, realloc, free, and…mmap & Memory-Mapped FilesLab: Memory Profiling withValgrindVFS, Inodes & DirectoryStructureQ&APOSIX File I/O:open/read/write/lseek/closeFile Metadata & DirectoryOperationsLab: Build a File UtilityFile Locking (flock,fcntl) & Record Lockinginotify & ExtendedAttributesLab: Watch a Directory forChangesNon-Blocking & Async I/Osendfile, splice &io_uring OverviewQ&Afork, exec & the ProcessLife Cyclewait, waitpid & ZombiePreventionLab: Build a Simple ShellPipes & FIFOsPOSIX Shared Memory &Message QueuesPOSIX SemaphoresLab: Producer-Consumer viaShared MemorySignal Fundamentals &sigactionSignal Masks, Async-SignalSafety & Real-Time SignalsLab: Graceful ShutdownHandlerCreating Daemons & /procFilesystemProcess Priority,Scheduling & Namespaces…pthread_create, join &detachThread Attributes &Thread-Local StorageLab: Parallel Computationwith ThreadsMutexes & ConditionVariablesRead-Write Locks, Barriers& SemaphoresLab: Thread-Safe QueueSocket API: TCP Client &ServerUDP, Unix-Domain Sockets &Socket OptionsLab: Echo Serverselect, poll & epollEvent-Driven ServerArchitectureLab: Non-BlockingMulti-Client Server
100%

Upcoming sessions

No upcoming sessions are scheduled yet.

Get in touch

Request more information

Leave your details and our team will get back to you with everything you need to know about this course.