Who Should Attend:
System programmers, application programmers, computer science
students, and other IT professionals who wish to write platform independent
ANSI C based programs for Linux / LINUX systems.
Prerequisites:
A general understanding of programming languages is necessary.
Objectives:
This is a hands-on module on the C programming language using the Linux environment.
It highlights the writing and debugging of simple ANSI C programs, usage of
compilers (CC , GCC) and different libraries, foundations of system and network
programming, and exception handling.
Contents:
The Linux Software Development
Environment: Linux Software Development
Objectives.
The make Utility: Why Use Make?
Basic Features of make, Description Files and Substitutions, Recursive Makefiles,
SCCS File Names, Dynamic Dependency.
C Programming Tools: ctags, indent, lint, gprof, emacs.
Debugging with gdb: Why use gdb? Printing Stack Trace, Examining
Variables, Source File Display and Manipulation, Controlled Environment for
Program Testing.
C Standard Libraries: What is C Standard
Library? String Manipulation Functions, Memory Allocation Functions, Math Library
Functions, File Manipulation Functions, Miscellaneous Libraries.
Libraries: What is a Library?
Building a Library, using make to automate building Libraries.
Introduction to Linux System Calls:
What are System Calls? Classes of System Calls, Invoking a System Calls, Exit
from a System Call.
File and I/O Management:
Linux Files, Obtaining File Status Information, Determining File Accessibility,
File Ownerships and Permissions, Renaming and Removing Files, Manipulating File
Contents, Directory Manipulation.
Process Control:
Processes and the environment, Setting process groups, Setting real and effective
uids, Setting process priority, Creating processes, Terminating processes.
Interprocess Communication: Pipes, Shared Memory, Messages,
Semaphores, Signals.