Modern C Up and Running : A Programmer's Guide to Finding Fluency and Bypassing the Quirks 🔍
Martin Kalin Apress L. P., 1st ed. 2022, Berkeley, CA, 2022
英语 [en] · PDF · 5.9MB · 2022 · 📘 非小说类图书 · 🚀/lgli/lgrs/nexusstc/upload/zlib · Save
描述
Learn how to program in modern C, from the basics through the advanced topics required for proficiency. This book is the fastest path to C fluency for anyone experienced in a general-purpose programming language. From start to finish, code examples highlight the idioms and best practices behind efficient, robust programs in a variety of areas. The book opens with a thorough coverage of syntax, built-in data types and operations, and program structure. C has quirks and presents challenges, which are covered in detail. The coverage of advanced features is what sets this book apart from others. Among the advanced topics covered are floating-point representation in the IEEE 754 standard; embedded assembly language in C code for overflow detection; regular expressions, assertions, and internationalization; WebAssembly through C; and software libraries for C and other clients. Memory efficiency and safety are the two major challenges in C programming, and you’ll explore these challenges through a series of C examples. Arrays and structures, which are the means to high-level data representation, are covered in connection with pointers, which provide efficiency. The book again uses code examples in covering networking and wire-level security; concurrency (multiprocessing and multithreading); instruction-level parallelism; and interprocess communication through shared memory and files, pipes, message queues, and signals. Many books introduce C, but few also explain how to use it properly and optimally. Essential C does just that. What You'll Learn Accelerate your path to C mastery with this book for experienced programmers Refresh your approach to program structure and data types Dive into aggregates and pointers using modern C language Explore recursion and revisit data with storage classes Dive into concurrency and parallelism for multithreading your more complex, data-intense C applications or processes Finish with regular expressions, assertions, signals, locales and more Who This Book Is For Professional programmers or software developers who has prior experience with C or in general wanting an accelerated learning guide to modern C programming language.
备用文件名
nexusstc/Modern C Up and Running : A Programmer's Guide to Finding Fluency and Bypassing the Quirks/6e17892c618acc1a1c5365403f630a34.pdf
备用文件名
lgli/Modern C Up and Running, Martin Kalin, 2022.pdf
备用文件名
lgrsnf/Modern C Up and Running, Martin Kalin, 2022.pdf
备用文件名
zlib/Computers/Programming/Martin Kalin/Modern C Up and Running: A Programmer's Guide to Finding Fluency and Bypassing the Quirks_23247860.pdf
备选作者
Kalin, Martin
备用出版商
Apress, Incorporated
备用版本
United States, United States of America
备用版本
Springer Nature, Berkeley, CA, 2022
备用版本
New York, 2022
元数据中的注释
Publisher PDF
元数据中的注释
producers:
Adobe PDF Library 10.0.1
元数据中的注释
{"edition":"1","isbns":["1484286758","1484286766","9781484286753","9781484286760"],"last_page":371,"publisher":"Apress"}
备用描述
Table of Contents 5
About the Author 10
About the Technical Reviewer 11
Acknowledgments 12
Preface 13
Chapter 1: Program Structure 18
1.1. Overview 18
1.2. The Function 19
1.3. The Function main 22
1.4. C Functions and Assembly Callable Blocks 25
1.4.1. A Simpler Program in Assembly Code 31
1.5. Passing Command-Line Arguments to main 33
1.6. Control Structures 36
1.7. Normal Flow of Control in Function Calls 43
1.8. Functions with a Variable Number of Arguments 45
1.9. What’s Next? 49
Chapter 2: Basic Data Types 50
2.1. Overview 50
2.2. Integer Types 52
2.2.1. A Caution on the 2’s Complement Representation 57
2.2.2. Integer Overflow 58
2.3. Floating-Point Types 60
2.3.1. Floating-Point Challenges 61
2.3.2. IEEE 754 Floating-Point Types 66
2.4. Arithmetic, Bitwise, and Boolean Operators 71
2.4.1. Arithmetic Operators 73
2.4.2. Boolean Operators 75
2.4.3. Bitwise Operators 77
2.5. What’s Next? 81
Chapter 3: Aggregates and Pointers 83
3.1. Overview 83
3.2. Arrays 84
3.3. Arrays and Pointer Arithmetic 85
3.4. More on the Address and Dereference Operators 88
3.5. Multidimensional Arrays 91
3.6. Using Pointers for Return Values 96
3.7. The void* Data Type and NULL 100
3.7.1. The void* Data Type and Higher-Order Callback Functions 103
3.8. Structures 112
3.8.1. Sorting Pointers to Structures 115
3.8.2. Unions 119
3.9. String Conversions with Pointers to Pointers 120
3.10. Heap Storage and Pointers 125
3.11. The Challenge of Freeing Heap Storage 136
3.12. Nested Heap Storage 141
3.12.1. Memory Leakage and Heap Fragmentation 147
3.12.2. Tools to Diagnose Memory Leakage 148
3.13. What’s Next? 150
Chapter 4: Storage Classes 151
4.1. Overview 151
4.2. Storage Class Basics 151
4.3. The auto and register Storage Classes 154
4.4. The static Storage Class 156
4.5. The extern Storage Class 158
4.6. The volatile Type Qualifier 163
4.7. What’s Next? 166
Chapter 5: Input and Output 167
5.1. Overview 167
5.2. System-Level I/O 168
5.2.1. Low-Level Opening and Closing 173
5.3. Redirecting the Standard Input, Standard Output, and Standard Error 180
5.4. Nonsequential I/O 182
5.5. High-Level I/O 185
5.6. Unbuffered and Buffered I/O 191
5.7. Nonblocking I/O 194
5.7.1. A Named Pipe for Nonblocking I/O 196
5.8. What’s Next? 204
Chapter 6: Networking 205
6.1. Overview 205
6.2. A Web Client 206
6.2.1. Utility Functions for the Web Client 212
6.3. An Event-Driven Web Server 215
6.3.1. The webserver Program 219
6.3.2. Utility Functions for the Web Server 220
6.3.3. Testing the Web Server with curl 228
6.4. Secure Sockets with OpenSSL 230
6.5. What’s Next? 245
Chapter 7: Concurrency and Parallelism 246
7.1. Overview 246
7.2. Multiprocessing Through Process Forking 248
7.2.1. Safeguarding Against Zombie Processes 255
7.3. The exec Family of Functions 256
7.3.1. Process Id and Exit Status 259
7.4. Interprocess Communication Through Shared Memory 262
7.5. Interprocess Communication Through File Locking 271
7.6. Interprocess Communication Through Message Queues 279
7.7. Multithreading 284
7.7.1. A Thread-Based Race Condition 288
7.7.2. The Miser/Spendthrift Race Condition 289
7.8. Deadlock in Multithreading 296
7.9. SIMD Parallelism 300
7.10. What’s Next? 304
Chapter 8: Miscellaneous Topics 305
8.1. Overview 305
8.2. Regular Expressions 306
8.3. Assertions 314
8.4. Locales and i18n 318
8.5. C and WebAssembly 327
8.5.1. A C into WebAssembly Example 329
8.5.2. The Emscripten Toolchain 330
8.5.3. WebAssembly and Code Reuse 335
8.6. Signals 337
8.7. Software Libraries 342
8.7.1. The Library Functions 344
8.7.2. Library Source Code and Header File 345
8.7.3. Steps for Building the Libraries 348
8.7.4. A Sample C Client 350
8.7.5. A Sample Python Client 355
8.8. What’s Next? 356
Index 359
备用描述
Learn how to program in modern C, from the basics through the advanced topics required for proficiency. This book is the fastest path to C fluency for anyone experienced in a general-purpose programming language. From start to finish, code examples highlight the idioms and best practices behind efficient, robust programs in a variety of areas.
The book opens with a thorough coverage of syntax, built-in data types and operations, and program structure. C has quirks and presents challenges, which are covered in detail. The coverage of advanced features is what sets this book apart from others. Among the advanced topics covered are floating-point representation in the IEEE 754 standard; embedded assembly language in C code for overflow detection; regular expressions, assertions, and internationalization; WebAssembly through C; and software libraries for C and other clients.
Memory efficiency and safety are the two major challenges in C programming, and you’ll explore these challenges through a series of C examples. Arrays and structures, which are the means to high-level data representation, are covered in connection with pointers, which provide efficiency. The book again uses code examples in covering networking and wire-level security; concurrency (multiprocessing and multithreading); instruction-level parallelism; and interprocess communication through shared memory and files, pipes, message queues, and signals.
Many books introduce C, but few also explain how to use it properly and optimally. Essential C does just that.
What You'll Learn
Accelerate your path to C mastery with this book for experienced programmers Refresh your approach to program structure and data types Dive into aggregates and pointers using modern C language Revisit storage classes and scope Dive into concurrency (multiprocessing and multithreading) and instruction-level parallelism Finish with regular expressions, assertions, signals, locales and more
Who This Book Is For
Professional programmers or software developers who has prior experience with C or in general wanting an accelerated learning guide to modern C programming language.
备用描述
"Learn how to program in modern C, from the basics through the advanced topics required for proficiency. This book is the fastest path to C fluency for anyone experienced in a general-purpose programming language. From start to finish, code examples highlight the idioms and best practices behind efficient, robust programs in a variety of areas. The book opens with a thorough coverage of syntax, built-in data types and operations, and program structure. C has quirks and presents challenges, which are covered in detail. The coverage of advanced features is what sets this book apart from others. Among the advanced topics covered are floating-point representation in the IEEE 754 standard; embedded assembly language in C code for overflow detection; regular expressions, assertions, and internationalization; WebAssembly through C; and software libraries for C and other clients. Memory efficiency and safety are the two major challenges in C programming, and you'll explore these challenges through a series of C examples. Arrays and structures, which are the means to high-level data representation, are covered in connection with pointers, which provide efficiency. The book again uses code examples in covering networking and wire-level security; concurrency (multiprocessing and multithreading); instruction-level parallelism; and interprocess communication through shared memory and files, pipes, message queues, and signals"-- Amazon
开源日期
2022-10-08
更多信息……
We strongly recommend that you support the author by buying or donating on their personal website, or borrowing in your local library.

🚀 快速下载

成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️

🐢 低速下载

由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)

所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
  • 对于大文件,我们建议使用下载管理器以防止中断。
    推荐的下载管理器:Motrix
  • 您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
    推荐的电子书阅读器:Anna的档案在线查看器ReadEraCalibre
  • 使用在线工具进行格式转换。
    推荐的转换工具:CloudConvertPrintFriendly
  • 您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
    推荐的工具:亚马逊的“发送到 Kindle”djazz 的“发送到 Kobo/Kindle”
  • 支持作者和图书馆
    ✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
    📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。