Jump to content

C programming in plain view

From Wikiversity

Part I : C Language

[edit | edit source]


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 | edit source]


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 | edit source]


Visit [ Compiling & linking in plain view ]

  • Compiling
  • Linking and Loading
  • ELF
  • Binutil
  • Make


Part IV : Workings of gcc and ld

[edit | edit source]


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 | edit source]


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 | edit source]


Visit [ Assembly programming in plain view ]

  • GAS (GNU Assembler)
  • GCC Inline Assembly
  • NASM
  • ld (Gnu Linker)
- Linker Script


Part VII : Debugging & Profiling

[edit | edit source]


Visit [ Debugging & profiling in plain view ]

  • Background
  • Gnu Debugger
  • Profiling






go to [ Electrical_&_Computer_Engineering_Studies ]