Every programmer and software project manager must master the art of creating reusable software modules; they are the building blocks of large, reliable applications. Unlike some modern object-oriented languages, C provides little linguistic support or motivation for creating reusable application programming interfaces (APIs). While most C programmers use APIs and the libraries that implement them in almost every application they write, relatively few programmers create and disseminate new, widely applicable APIs. C Interfaces and Implementations shows how to create reusable APIs using interface-based design, a language-independent methodology that separates interfaces from their implementations. This methodology is explained by example. The author describes in detail 24 interfaces and their implementations, providing the reader with a thorough understanding of this design approach. Features of C Interfaces and Implementations: *Concise interface descriptions that comprise a reference manual for programmers interested in using the interfaces.*
A guided tour of the code that implements each chapter's interface tp help those modifying or extending an interface or designing related interfaces. *In-depth focus on "algorithm engineering:" how to package data structures and related algorithms into reusable modules. *Source code for 24 APIs and 8 sample applications is examined, with each presented as a "literate program" in which a thorough explanation is interleaved with the source code. *Rarely documented C programming tricks-of-the-trade. *Convenient access to all source code in the book via the World Wide Web at http://www.cs.princeton.edu/software/cii/ 0201498413B04062001
Der Verlag über das Buch
A Resource for Improving Your C Programming
"Hanson is a superior C programmer who uses literate programming. This is a good book for practitioners... I will be recommending it to people who ask for a book to improve their C programming." - Computing Reviews
Using a unique methodology that separates interfaces from their implementations, this book shows you how to create reusable APIs for C programming. This resource revolves around 24 sample interfaces and their implementations, with detailed explanations of the source code. In addition to demonstrating this book's design approach, these interfaces can easily be modified or extended for your own use. Throughout, this book focuses on algorithm engineering--how to package data structures and related algorithms into reusable modules. David R. Hanson has more than 20 years of research experience in programming languages. He has conducted research in conjunction with Bell Laboratories and is the coauthor of lcc, a production quality, research compiler for the C language that is popular with the Unix community.