|
|||||||||||||||||||||||||||||||||||
|
20 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
44 of 45 people found the following review helpful:
5.0 out of 5 stars
Shines a light on an obscure subject,
By
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
I picked up this book to delve into interesting problems with a loader that I work with and was amazed at the great story told of what happens to your code after it goes through that compiler and becomes an object. It's not done yet, folks.This book covers a broad range of topics, after first explaining the basics and architecture gotchas, to all the phases from the back end of the compiler to a program running in memory. Three example platforms are used to illustrate this journey: Intel x86 and 32-bit Windows, UltraSPARC and Solaris, and the IBM 360/370. However, it touches upon a great deal other challenges and formats. Some might consider the symbolic journey from source code to running program to be equivalent to Conrad's "Heart of Darkness" but Levine's book makes it more like a guided tour at a Disney Theme park. There are wonderful examples and code snippets. Clear diagrams and excellent writing. My only complaint about this book is that the back cover makes a lot of noise about Java, but the material inside is pretty paltry alongside the more developed material on C, FORTRAN, and C++ issues. Java is really not that complicated or important to Linkers and Loaders.
22 of 22 people found the following review helpful:
4.0 out of 5 stars
not exactly what I was expecting.,
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
For what this book is, it is good. but, for what I expected it to be, it is a little lackluster. I was expecting a book that would explain linking and loading, provide code examples, and teach the subject systematically. What this book is however, is a simple technical reference. It talks about what things are, and the particulars of all the different file formats and architectures. It provides no code (and no pseudo-code) to demonstrate any of the concepts.
The book does however provide several excercises at the end of each chapter that will test the programmer, and it also has a main project: each chapter prompts the reader to construct, and add to a sample linker, which the book claims should be written in Perl, although perl is never talked about in the book, and no perl code is ever provided. Since Perl code is never used in the problems, and no solutions in perl are provided in the book (they are on the website, however), it would work just as well for a programmer to use any language that they felt comfortable with, such as C/C++ or Java. my feelings are mixed. on one hand this book is an excellent reference on a subject that rarely sees any light. if I may quote a passage: "But all the linker writers in the world could probably fit in one room, and half of them already have copies [of this book]." Clearly the audience for this topic isnt particularly large, and so it seems that linkers and loaders will remain a bit of a black art, even though this book does shed some light on the most basic concepts involved. However, this book only contains concepts, and it asks the reader to view external sources for the specifics, and it asks the programmer to have a firm grasp on their knowledge of programming, but also computer architecture. I give this book 4 stars because it is one of the best (one of the only) books on the topic, but I hope that future versions of this book (or even a competing title) will shed more light, and provide more specific examples (including specific code examples) on this confusing topic.
32 of 36 people found the following review helpful:
3.0 out of 5 stars
More of a pamphlet on linkers and loaders than a book,
By "oberon46" (Plano, TX USA) - See all my reviews
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
If you're just looking for a piece of literature to get you started thinking about understanding linkers, this is the book for you. However, if you actually want to write your own linker, you'd best find another book. This book covers all of the popular object and executable file formats such as COFF, ELF, and OMF, but it never really goes in depth or gives any example code, which is exactly what a programmer needs to really get what's going on. Even some pseudocode would've been nice. The only thing I particularly enjoyed about this book was the author's sense of humor, which is a rare thing in the realm of technical books. John Levine pokes fun at himself several times throughout the book, acknowledging that linker programmers are a rare breed indeed - Too bad he couldn't have written a more complete book on linkers, I would've given him a much better review.
11 of 11 people found the following review helpful:
4.0 out of 5 stars
Very Good Overall, but omission of LX object format glaring,
By John M. Cooper "jmc" (Lake Oswego, OR) - See all my reviews
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
The description of linking, loading, and various object formats is very informative. The style of writing is such that I was able to read it at one sitting (quite an accomplishment for a technical book :) ). But the book is seriously incomplete without a discussions of IBM's LX 32-bit executable, object, and DLL formats, and the differences between LX and PE, especially as it pertains to dynamic linking. Also, if you're going to discuss OMF objects, it seems impossible to me to skip NE executables, objects, and DLL formats--the jump from DOS 2.0 (OMF) to Windows NT (PE) is simply too great without a parallel discussion of NE. Finally, more coverage of incremental linking would be good. But, if you confine yourself to a.out, COFF, PE, or pre-NE OMF, this book's contents will interest you.
22 of 27 people found the following review helpful:
1.0 out of 5 stars
Too many omissions to be useful, too general to instruct,
By JK Oregon (California, USA) - See all my reviews
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
Despite its name and cover copy, this book is simply an introduction to object file formats. The actual discussion of linkers and loaders explains only the basic concepts (as others have pointed out, the coverage of advanced concepts such as dynamic linking is scant.) Thereafter, Levine traipses through a variety of object file formats and explains their layouts and superficially their differences. Linking in Java is given a mere couple of pages--a clear afterthought. This despite being a topic of some complexity and uniquely different from traditional linking and loading. Finally, a serious complaint: the book and its cover both trumpet a "linker construction project in Perl" that you can download from the author's website. A year after publication, this code is still not posted. When I contacted the author, he said he had been "too busy" to write the code and doubted he would ever get it posted. I find this kind of thing really dishonest. But even that notwithstanding, this book is just not very good.
5 of 5 people found the following review helpful:
4.0 out of 5 stars
clear explanation of concepts,
By
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
Whatever the hardware and operating system you are using, Levine offers a general explanation of what a linker and loader do. If you deal just in a high level language like C++ or Java, this book can help you appreciate what goes on at a lower level. Notably, the unix ELF and Microsoft Portable Formats are expounded on.
You might also find tips to improve your code performance. Perhaps by finding that your storage allocation could be reduced. Or maybe you want to write relocatable code for dynamic linking. All told in a style that shows ideas clearly. Without getting bogged down in the syntax of a given CPU or operating system.
4 of 4 people found the following review helpful:
4.0 out of 5 stars
Who knew linkers could be interesting?,
By JRZ (San Francisco, CA) - See all my reviews
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
This book will definitely surprise you if, like me, you had the idea that linkers were just simple, dull tools that ran in the background. The author provides a surprisingly thorough, but understandable, overview of all sorts of linker/loader issues: layout in memory, relocatable code, debugging information, etc., but he does it with such a light, readable style that the material itself doesn't seem particularly difficult. My one complaint is that the book has very little code. The perl-based linker project is basically just a short series of "suggested exercises" without much direction. Still, I wouldn't hesistate to recommend this to anyone interested in compilers or operating systems.
3 of 3 people found the following review helpful:
4.0 out of 5 stars
Good resource,
By A Customer
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
I am very excited when I discovered this book from amazon. This book covered an important practical area of knowledge for software developers which was not mentioned elsewhere. This book is really very helpful to understand ROUGHLY how current linker and loader works if you just have a vague idea of how they works like me. On the other hand the author try to cover too much so that reader is lost before they really get the hight level picture of exactly how various technique in different chapters play together, though the author's wide knowlegde in this area is amazing. I found I still need to read the specifications of ELF format and read the book again to gain the high level picture. I believe the book can be more helpful to an average software developer if the author treatment of ELF and PE is in greater detail that it is in the book. The treatment about C++ is very interesting. If there are second edition, hope to see more about this subject.
12 of 16 people found the following review helpful:
2.0 out of 5 stars
an introduction, but not much more.,
By
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
If you already know something about loaders and linkers, then this book is not for you. It covers the basics, but then it stops just when things are getting interesting. The book describes several executable file formats, but it always stops just when the topic is becoming interesting. In summary, a decent introduction, but not much more.
2 of 2 people found the following review helpful:
4.0 out of 5 stars
knowledgeable author but,
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
the verbose, tedious, and non-self-contained litany of the nuances among every hardware architecture, every operation system, and every object file format on every linker concept totally overwhelmed the coherence among separate linker concepts.
However, this book is one of the only 2 books about linker. For this point alone, it deserves 4 stars. |
|
Most Helpful First | Newest First
|
|
Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) by John R. Levine (Paperback - October 25, 1999)
$60.95 $37.75
In Stock | ||