Computing Reviews

Advanced C and C++ compiling
Stevanovic M., Apress,Berkeley, CA,2014. 340 pp.Type:Book
Date Reviewed: 10/13/14

The title of this book is a bit misleading since it implies a book presenting a detailed explanation of compiler documentation often skipped or misunderstood by most users. This is not true. Instead, this book is a comprehensive reference to compiling, linking, and creating libraries using C and C++ languages.

Chapter 1 is an introductory one and can be skipped by experienced users. Chapters 2 to 5 serve as a general introduction and aim to help people with no computer science background.

Chapters 6 to 12 are the essence of the book in terms of information that needs to be conveyed to non-computer science major programmers. For example, the topic of designing a dynamic library is rarely covered in any programming course designed for a research audience with no computer science background. Chapter 6 provides the basis for understanding the philosophy and design principles of the creation of dynamic libraries. The use of the libraries is explored in chapter 7. This incremental approach is very important in order to keep a close link between principles and practice, and I am sure scientific programmers will appreciate it. In fact, chapters 6 and 7 create a core around which chapters 8 to 12 build extra structure. The result is excellent, careful representation of the building process of dynamic libraries, which is always a cumbersome topic for many scientific programmers.

Chapters 13 and 14 complete the book in a “how to” style. Along with ready-to-use recipes, they provide the user with a platform-specific list, by discussing platform-specific tools for binary file analyzers.

Because designing static and dynamic libraries is machine dependent, the author addresses the issues with C++ (more complex symbol name requirements than C), and C under Linux. The author shows briefly the differences in mechanisms for exporting dynamic symbols used in dynamic-link libraries (DLLs) on Windows systems versus those in Linux. However, this discussion is brief and mostly conceptual, with few practical details or examples.

Overall, the book is an excellent reference book that could be very helpful for scientific programmers with no computer science background to create quality code.

More reviews about this item: Amazon

Reviewer:  Alexander Tzanov Review #: CR142815 (1501-0015)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy