C programming in plain view

From Wikiversity
Jump to: navigation, search

Part 0 : Class Notes [edit]

Part I : C Language[edit]

Introduction[edit]

Handling Repetition[edit]

Handling a Big Work[edit]

Handling Series of Data[edit]


  • Applications of Arrays (A.pdf)
  • Applications of Structures
  • Applications of Pointers


  • Spreadsheet Example Programs
Example 1 (A.pdf)
Example 2 (A.pdf)
Example 3 (A.pdf)
Example 4 (A.pdf)

Handling Various Kinds of Data[edit]

Handling Low Level Operations[edit]

Declarations[edit]

  • Type Specifiers and Qualifiers (pdf)
  • Storage Class Specifiers (pdf)
  • Scope


See also https://cprogramex.wordpress.com/


Part II : C Standard Libraries [edit]

The C libraries[edit]

  • Character Processing (pdf)
  • String Processing (pdf, B.pdf)
  • Memory Allocations (pdf)
  • I/O Functions (pdf, B.pdf)
  • Memory Functions (in String Processing)
  • Mathematical Functions (pdf)


Part III : Compiling & Linking [edit]

Compiling[edit]

  • Overview (pdf)
  • Preprocessor (pdf)
  • Compiler (pdf)
  • Assembler (pdf)
  • Library (pdf)

Linking[edit]

  • Overview (pdf)
  • Object Files (pdf)
  • Symbols (pdf)
  • Relocation (pdf)
  • Loading (pdf)
  • Static Linking
  • Dynamic Linking
  • Position Independent Code (PIC)

ELF[edit]

  • Overview - ELF (pdf)

Binutil[edit]

  • Overview - Binutil (pdf)

Make[edit]


Part IV : Assembly Programming [edit]

Understanding Generated Assembly Codes[edit]

  • Overview (pdf)
  • Access (pdf)
  • Operators (pdf)
  • Control (pdf)
  • Procedure (pdf)
  • Arrays (pdf)
  • Structures (pdf)
  • Alignment (pdf)
  • Pointers (pdf)


GAS (GNU Assembler)[edit]

  • Overview (pdf)
  • Command-line (pdf)
  • Syntax (pdf)
  • Sections and Relocations (pdf)
  • Symbols (pdf)
  • Expression (pdf)
  • Directives (1) (pdf)
  • Directives (2) (pdf)
  • Directives (3) (pdf)

GCC Inline Assembly[edit]


NASM[edit]


Part V : Debugging & Profiling [edit]

Background[edit]

  • Stack (pdf)
  • Strace
  • \proc
  • Optimization

Gnu Debugger[edit]

  • Using GDB (pdf)


Profiling[edit]





Old Materials [edit]

until 201201

  • Intro.Overview.1.A (pdf)
  • Intro.Memory.1.A (pdf)
  • Intro.Number.1.A (pdf)
  • Repeat.Control.1.A (pdf)
  • Repeat.Loop.1.A (pdf)
  • Work.Function.1.A (pdf)
  • Work.Scope.1.A (pdf)
  • Series.Array.1.A (pdf)
  • Series.Pointer.1.A (pdf)
  • Series.Structure.1.A (pdf)
  • Data.Type.1.A (pdf)
  • Data.TypeCast.1.A (pdf)
  • Data.Operators.1.A (pdf)


until 201107

  • Intro.1.A (pdf)
  • Control.1.A (pdf)
  • Iteration.1.A (pdf)
  • Function.1.A (pdf)
  • Variable.1.A (pdf)
  • Operators.1.A (pdf)
  • Pointer.1.A (pdf)
  • Pointer.2.A (pdf)
  • Array.1.A (pdf)
  • Type.1.A (pdf)
  • Structure.1.A (pdf)