Veze, linkovi
Kompjuter biblioteka
Korpa
Extreme C

C++ Visual C++ C# C++ Visual C++ C#

Extreme C

Autor: Kamran Amini
Broj strana: 822
ISBN broj: 9781789343625
Izdavač: PACKT PUBLISHING PACKT PUBLISHING
Godina izdanja: 2019.

Pregleda (30 dana / ukupno): 253 / 253

                 
Twitter   Facebook   Linkedin   Pinterest   Email
                 
Predlog za prevod

 

Kupite na Amazonu

 

  • Build advanced C knowledge on strong foundations, rooted in first principles
  • Understand memory structures and compilation pipeline and how they work, and how to make most out of them
  • Apply object-oriented design principles to your procedural C code
  • Write low-level code that’s close to the hardware and squeezes maximum performance out of a computer system
  • Master concurrency, multithreading, multi-processing, and integration with other languages
  • Unit Testing and debugging, build systems, and inter-process communication for C programming

There’s a lot more to C than knowing the language syntax. The industry looks for developers with a rigorous, scientific understanding of the principles and practices. Extreme C will teach you to use C’s advanced low-level power to write effective, efficient systems. This intensive, practical guide will help you become an expert C programmer. Building on your existing C knowledge, you will master preprocessor directives, macros, conditional compilation, pointers, and much more. You will gain new insight into algorithm design, functions, and structures. You will discover how C helps you squeeze maximum performance out of critical, resource-constrained applications. C still plays a critical role in 21st-century programming, remaining the core language for precision engineering, aviations, space research, and more. This book shows how C works with Unix, how to implement OO principles in C, and fully covers multi-processing. In Extreme C, Amini encourages you to think, question, apply, and experiment for yourself. The book is essential for anybody who wants to take their C to the next level.

  • Make the most of C’s low-level control, flexibility, and high performance
  • A comprehensive guide to C’s most powerful and challenging features
  • A thought-provoking guide packed with hands-on exercises and examples

Table of contents

1 Essential Features
Preprocessor directives
Variable pointers
Some details about functions
Function pointers
Structures
Summary

2 From Source to Binary
Compilation pipeline
Preprocessor
Compiler
Assembler
Linker
Summary

3 Object Files
Application binary interface (ABI)
Object file formats
Relocatable object files
Executable Object Files
Static libraries
Dynamic libraries
Summary

4 Process Memory Structure
Process memory layout
Discovering memory structure
Probing static memory layout
Probing dynamic memory layout
Summary

5 Stack and Heap
Stack
Heap
Memory management in constrained environments
Summary

6 OOP and Encapsulation
Object-oriented thinking
C is not object-oriented, but why?
Encapsulation
Summary

7 Composition and Aggregation
Relations between classes
Object versus class
Composition
Aggregation
Summary

8 Inheritance and Polymorphism
Inheritance
Polymorphism
Summary

9 Abstraction and OOP in C++
Abstraction
Object-oriented constructs in C++
Summary

10 Unix – History and Architecture
Unix history
Unix architecture
Shell interface to user applications
Kernel interface to shell ring
Kernel
Hardware
Summary

11 System Calls and Kernels
System calls
Unix kernels
Summary

12 The Most Recent C
C11
Finding a supported version of C standard
Removal of the gets function
Changes to fopen function
Bounds-checking functions
No-return functions
Type generic macros
Unicode
Anonymous structures and anonymous unions
Multithreading
A bit about C18
Summary

13 Concurrency
Introducing concurrency
Parallelism
Concurrency
Task scheduler unit
Processes and threads
Happens-before constraint
When to use concurrency
Shared states
Summary

14 Synchronization
Concurrency issues
Intrinsic concurrency issues
Post-synchronization issues
Synchronization techniques
Spin locks
Concurrency in POSIX
Multi-processing
Multithreading
Summary

15 Thread Execution
Threads
POSIX threads
Spawning POSIX threads
Example of race condition
Example of data race
Summary

16 Thread Synchronization
POSIX concurrency control

17 Process Execution
Process execution APIs
Process execution steps
Shared states
Multithreading versus multi-processing
Summary

18 Process Synchronization
Single-host concurrency control
Named POSIX semaphores
Named mutexes
Named condition variables
Distributed concurrency control
Summary

19 Single-Host IPC and Sockets
IPC techniques
Communication protocols
Single-host communication
Introduction to socket programming

20 Socket Programming
Socket programming review
Calculator project
Unix domain sockets
Network sockets
Summary

21 Integration with Other Languages
Why integration is possible?
Obtaining the necessary materials
Stack library
Integration with C++
Integration with Java
Integration with Python
Integration with Go
Summary

22 Unit Testing and Debugging
Software testing
Unit testing
Component testing
Testing libraries for C
Debugging
Summary

23 Build Systems
What is a build system?
Make
CMake – not a build system!
Ninja
Bazel
Comparing build systems
Summary
Epilogue

 

Budite prvi koji će ostaviti komentar.

Ostavite komentar Ostavite komentar

 

Preporučujemo

C# 7 Quick Syntax Reference

C# 7 Quick Syntax Reference

Zbirka zadataka iz programskog jezika C#

Zbirka zadataka iz programskog jezika C#

Veze, linkovi
Linkedin Twitter Facebook
 
     
 
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272