Fluent C: Principles, Practices, and Patterns
- Length: 308 pages
- Edition: 1
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2022-11-29
- ISBN-10: 1492097330
- ISBN-13: 9781492097334
- Sales Rank: #1900351 (See Top 100 Books)
Expert advice on C programming is hard to find. While much help is available for object-oriented programming languages, there’s surprisingly little for the C language. With this hands-on guide, beginners and experienced C programmers alike will find guidance about design decisions, including how to apply them bit by bit to running code examples when building large-scale programs.
Christopher Preschern, a leading member of the design patterns community, answers questions such as how to structure C programs, cope with error handling, or design flexible interfaces. Whether you’re looking for one particular pattern or an overview of design options for a specific topic, this book shows you how to implement hands-on design knowledge specifically for the C programming language.
You’ll find design patterns for:
- Error handling
- Returning error information
- Memory management
- Returning data from C functions
- Data lifetime and ownership
- Flexible APIs
- Flexible iterator interfaces
- Organizing files in modular programs
- Escaping #ifdef Hell
Preface Why I Wrote This Book Patterns Basics How to Read This Book Overview of the Patterns Conventions Used in This Book Using Code Examples O’Reilly Online Learning How to Contact Us Acknowledgments I. C Patterns 1. Error Handling Running Example Function Split Guard Clause Samurai Principle Goto Error Handling Cleanup Record Object-Based Error Handling Summary Further Reading Outlook 2. Returning Error Information Running Example Return Status Codes Return Relevant Errors Special Return Values Log Errors Summary Further Reading Outlook 3. Memory Management Data Storage and Problems with Dynamic Memory Running Example Stack First Eternal Memory Lazy Cleanup Dedicated Ownership Allocation Wrapper Pointer Check Memory Pool Summary Further Reading Outlook 4. Returning Data from C Functions Running Example Return Value Out-Parameters Aggregate Instance Immutable Instance Caller-Owned Buffer Callee Allocates Summary Outlook 5. Data Lifetime and Ownership Stateless Software-Module Software-Module with Global State Caller-Owned Instance Shared Instance Summary Further Reading Outlook 6. Flexible APIs Header Files Handle Dynamic Interface Function Control Summary Further Reading Outlook 7. Flexible Iterator Interfaces Running Example Index Access Cursor Iterator Callback Iterator Summary Further Reading Outlook 8. Organizing Files in Modular Programs Running Example Include Guard Software-Module Directories Global Include Directory Self-Contained Component API Copy Summary Outlook 9. Escaping #ifdef Hell Running Example Avoid Variants Isolated Primitives Atomic Primitives Abstraction Layer Split Variant Implementations Summary Further Reading Outlook II. Pattern Stories 10. Implementing Logging Functionality The Pattern Story File Organization Central Logging Function Logging Source Filter Conditional Logging Multiple Logging Destinations File Logging Cross-Platform Files Using the Logger Summary 11. Building a User Management System The Pattern Story Data Organization File Organization Authentication: Error Handling Authentication: Error Logging Adding Users: Error Handling Iterating Using the User Management System Summary 12. Conclusion What You’ve Learned Further Reading Closing Remarks Index
Donate to keep this site alive
How to download source code?
1. Go to: https://www.oreilly.com/
2. Search the book title: Fluent C: Principles, Practices, and Patterns
, sometime you may not get the results, please search the main title
3. Click the book title in the search results
3. Publisher resources
section, click Download Example Code
.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.