高级 C 语言编程培训课程
Advanced C Programming
Course Outline
1
Introduction
Program Structure
- Importance of good structure
- Quality and style
Pointers, Arrays & Dynamic
Allocation
- Arrays & pointers; compatibility
and incompatibility
Function Pointers
- Basics
- Callbacks
- State machine
Unscrambling Declarations
- Rules
- Using typedef
2
Enumerations, Structures and
Unions
- Enum vs. #define
- Struct layout
- Uses of union
Interrupts
- Hardware interrupt models
- Software interrupts
Multi-Tasking (Multi-Threading)
- Terminology
- Advantages and disadvantages
- Intertask Communication &
synchronisation
3
The Linker
- Memory sections
Start-up, Runtime and the Stack
- What happens before main
- What is happening at runtime
- Estimation of stack requirements
Dynamic Memory
- Malloc, calloc and realloc
- Variable sized structures
- Dangers
Memory Management and Protection
- Memory protection
- MMU
- Segmentation and paging
4
Writing Safer C
- MISRA-C Guidelines
OOP with C
- Object-based and objectoriented
- Classes, inheritance and polymorphism
- Associations and aggregation
Number Crunching
- Floating-point and fixed-point number systems
- IEEE Standard 754
The Standard Library
- Major issues
C99
- Summary of significant new features