Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
About This eBook Title Page Copyright Page Contents Acknowledgments This Book Is Not Really about C
The Undefined Behaviorists C Is a Pretty and Ugly Language What You Will Learn How to Read This Book The Videos The Core Competencies
Reading and Writing Attention to Detail Spotting Differences Planning and Debugging
Exercise 0. The Setup
Linux Mac OS X Windows Text Editor
Do Not Use an IDE
Exercise 1. Dust Off That Compiler
Breaking It Down What You Should See How to Break It Extra Credit
Exercise 2. Using Makefiles to Build
Using Make What You Should See How to Break It Extra Credit
Exercise 3. Formatted Printing
What You Should See External Research How to Break It Extra Credit
Exercise 4. Using a Debugger
GDB Tricks GDB Quick Reference LLDB Quick Reference
Exercise 5. Memorizing C Operators
How to Memorize The List of Operators
Exercise 6. Memorizing C Syntax
The Keywords Syntax Structures A Word of Encouragement A Word of Warning
Exercise 7. Variables and Types
What You Should See How to Break It Extra Credit
Exercise 8. If, Else-If, Else
What You Should See How to Break It Extra Credit
Exercise 9. While-Loop and Boolean Expressions
What You Should See How to Break It Extra Credit
Exercise 10. Switch Statements
What You Should See How to Break It Extra Credit
Exercise 11. Arrays and Strings
What You Should See How to Break It Extra Credit
Exercise 12. Sizes and Arrays
What You Should See How to Break It Extra Credit
Exercise 13. For-Loops and Arrays of Strings
What You Should See Understanding Arrays of Strings How to Break It Extra Credit
Exercise 14. Writing and Using Functions
What You Should See How to Break It Extra Credit
Exercise 15. Pointers, Dreaded Pointers
What You Should See Explaining Pointers Practical Pointer Usage The Pointer Lexicon Pointers Aren’t Arrays How to Break It Extra Credit
Exercise 16. Structs And Pointers to Them
What You Should See Explaining Structures How to Break It Extra Credit
Exercise 17. Heap and Stack Memory Allocation
What You Should See Heap versus Stack Allocation How to Break It Extra Credit
Exercise 18. Pointers to Functions
What You Should See How to Break It Extra Credit
Exercise 19. Zed’s Awesome Debug Macros
The C Error-Handling Problem The Debug Macros Using dbg.h What You Should See How the CPP Expands Macros Extra Credit
Exercise 20. Advanced Debugging Techniques
Debug Printing versus GDB A Debugging Strategy Extra Credit
Exercise 21. Advanced Data Types and Flow Control
Available Data Types
Type Modifiers Type Qualifiers Type Conversion Type Sizes
Available Operators
Math Operators Data Operators Logic Operators Bit Operators Boolean Operators Assignment Operators
Available Control Structures Extra Credit
Exercise 22. The Stack, Scope, and Globals
ex22.h and ex22.c ex22_main.c What You Should See Scope, Stack, and Bugs How to Break It Extra Credit
Exercise 23. Meet Duff’s Device
What You Should See Solving the Puzzle
Why Bother?
Extra Credit
Exercise 24. Input, Output, Files
What You Should See How to Break It The I/O Functions Extra Credit
Exercise 25. Variable Argument Functions
What You Should See How to Break It Extra Credit
Exercise 26. Project logfind
The logfind Specification
Exercise 27. Creative and Defensive Programming
The Creative Programmer Mind-Set The Defensive Programmer Mind-Set The Eight Defensive Programmer Strategies Applying the Eight Strategies
Never Trust Input Prevent Errors Fail Early and Openly Document Assumptions Prevention over Documentation Automate Everything Simplify and Clarify Question Authority
Order Is Not Important Extra Credit
Exercise 28. Intermediate Makefiles
The Basic Project Structure Makefile
The Header The Target Build The Unit Tests The Cleaner The Install The Checker
What You Should See Extra Credit
Exercise 29. Libraries and Linking
Dynamically Loading a Shared Library What You Should See How to Break It Extra Credit
Exercise 30. Automated Testing
Wiring Up the Test Framework Extra Credit
Exercise 31. Common Undefined Behavior
UB 20
Common UBs
Exercise 32. Double Linked Lists
What Are Data Structures Making the Library Doubly Linked Lists
Definition Implementation
Tests What You Should See How to Improve It Extra Credit
Exercise 33. Linked List Algorithms
Bubble and Merge Sorts The Unit Test The Implementation What You Should See How to Improve It Extra Credit
Exercise 34. Dynamic Array
Advantages and Disadvantages How to Improve It Extra Credit
Exercise 35. Sorting and Searching
Radix Sort and Binary Search
C Unions The Implementation RadixMap_find and Binary Search RadixMap_sort and radix_sort
How to Improve It Extra Credit
Exercise 36. Safer Strings
Why C Strings Were a Horrible Idea Using bstrlib Learning the Library
Exercise 37. Hashmaps
The Unit Test How to Improve It Extra Credit
Exercise 38. Hashmap Algorithms
What You Should See How to Break It Extra Credit
Exercise 39. String Algorithms
What You Should See Analyzing the Results Extra Credit
Exercise 40. Binary Search Trees
How to Improve It Extra Credit
Exercise 41. Project devpkg
What Is devpkg?
What We Want to Make The Design The Apache Portable Runtime
Project Layout
Other Dependencies
The Makefile The Source Files
The DB Functions The Shell Functions The Command Functions The devpkg Main Function
The Final Challenge
Exercise 42. Stacks and Queues
What You Should See How to Improve It Extra Credit
Exercise 43. A Simple Statistics Engine
Rolling Standard Deviation and Mean Implementation How to Use It Extra Credit
Exercise 44. Ring Buffer
The Unit Test What You Should See How to Improve It Extra Credit
Exercise 45. A Simple TCP/IP Client
Augment the Makefile The netclient Code What You Should See How to Break It Extra Credit
Exercise 46. Ternary Search Tree
Advantages and Disadvantages How to Improve It Extra Credit
Exercise 47. A Fast URL Router
What You Should See How to Improve It Extra Credit
Exercise 48. A Simple Network Server
The Specification
Exercise 49. A Statistics Server
Specification
Exercise 50. Routing the Statistics Exercise 51. Storing the Statistics
The Specification
Exercise 52. Hacking and Improving Your Server Next Steps Index Where are the Companion Content Files? Code Snippets
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion