Professional C Programming: Integer Types - Video Training Excerpt

preview_player
Показать описание

Professional C Programming LiveLessons, (Video Training) Part I: Writing Robust, Secure, Reliable Code

15+ Hours of Video Training

Professional C Programming LiveLessons, Part I: Writing Robust, Secure, and Reliable Code provides an in depth explanation of how to use common C language features to produce robust, secure, and reliable code.

Author, instructor and programmer, Robert C. Seacord created this video for developers who have previous experience in C language programming. In six lessons, Professional C Programming, Part I shows developers how to perform common C language programming tasks correctly while avoiding programming errors that are not always detected or reported by the compiler.

Robert C. Seacord leads the Secure Coding Initiative at CERT, located in Carnegie Mellon University's Software Engineering Institute (SEI) in Pittsburgh, PA. Seacord is an adjunct professor in both the School of Computer Science and the Information Networking Institute at Carnegie Mellon University. He is also the author of The CERT C Secure Coding Standard and Secure Coding in C and C++ as well as other books on computer security, legacy system modernization, and component-based software engineering.

Table of Contents:
Introduction

Lesson 1: Integer Types
Learning objectives
Introduction to integer types
Unsigned integers
Signed integers
Character types
size_t, ptrdiff_t, intmax_t and uintmax_t
Summary

Lesson 2: Integer Conversions
Learning objectives
Conversion rank, promotions, and the usual arithmetic conversions
Conversions to unsigned types
Conversions to signed types
Summary

Lesson 3: Integer Operations
Learning objectives
Assignment
Addition and subtraction
Multiplication and upcasting
Division/remainder
Shifting
Summary

Lesson 4: Characters, Arrays, and Strings
Learning objectives
Sizing arrays
String literals and their use as array initializers
Character types and what they are used for
Summary

Lesson 5: String Handling
Learning objectives
Caller allocates, caller frees
Bounds-checking interfaces
Callee allocates, caller frees (POSIX)
Summary

Lesson 6: Optimization
Learning objectives
Undefined behaviors and the "as if" rule
Constant folding
Algebraic simplification and pointer arithmetic
Hoisting of loop-invariant computations
Dead-code removal
Aliasing
Summary
Рекомендации по теме
join shbcf.ru