C programming in plain view
Part I : C Language
edit
Visit [ C language in plain view ]
- Introduction
- Handling Repetition
- Handling a Big Work
- Handling Series of Data
- - Background
- - Basics
- - Applications
- - Examples
- Handling Various Kinds of Data
- Handling Low Level Operations
- Declarations
- Class Notes
See also https://cprogramex.wordpress.com/
Part II : C Standard Library
edit
Visit [ C standard library in plain view ]
- Character Processing
- String Processing
- Memory Allocations
- I/O Functions
- Memory Functions (in String Processing)
- Mathematical Functions
Part III : Compiling & Linking
edit
Visit [ Compiling & linking in plain view ]
- Compiling
- Linking and Loading
- ELF
- Binutil
- Make
Part IV : Workings of gcc and ld
edit
Visit [ Workings of gcc and ld in plain view ]
- Workings of the GNU Compiler
- - Overview
- Overview
- - Data Processing
- Access, Operators
- - Control
- Conditions, Control
- - Function calls
- Procedure, Recursion
- - Pointer and Aggregate Types
- Arrays, Structures, Alignment, Pointers
- - Integer Arithmetic
- Overview, Carry Flag, Overflow Flag, Examples, Borrow
- - Floating point Arithmetic
- Workings of the GNU Linker
- - Linking Libraries
- Static Linking, Shared Libraries, Dynamic Linking
- - Library Search Path
- Using -L and -l only, Using RPATH
- - Linking Process
- Object Files, Symbols, Relocation, Loading,
- Static Linking, Dynamic Linking, Position Independent Code
- - Example I
- Vector addition, Swapping array elements, Nested functions
- - Examples II
- analysis of static linking, dynamic linking, and PIC
Part V : Workings of ELF files
edit
Visit [ Workings of ELF files in plain view ]
- Executable and Linkable Format
- - Object Files
- - Program Loading and Dynamic Linking
- - C Library
- ELF Study
- - ELF Relocations
- - Relocation Examples
Part VI : Assembly Programming
edit
Visit [ Assembly programming in plain view ]
- GAS (GNU Assembler)
- GCC Inline Assembly
- NASM
- ld (Gnu Linker)
- - Linker Script
Part VII : Debugging & Profiling
edit
Visit [ Debugging & profiling in plain view ]
- Background
- Gnu Debugger
- Profiling