Shop now Shop now Shop now  Up to 50% Off Fashion  Shop all Amazon Fashion Cloud Drive Photos Shop now Learn More Shop now Shop now Shop Fire Shop Kindle Shop now Shop now Shop now

Customer Reviews

4.2 out of 5 stars10
4.2 out of 5 stars
Format: Paperback|Change
Price:£12.95+ Free shipping with Amazon Prime
Your rating(Clear)Rate this item

There was a problem filtering reviews right now. Please try again later.

on 23 June 2010
For me this book has provided exactly what I wanted: an introduction. I needed to decipher a program written in C, and it's associated Make file with all the gcc options. Trying to find anything on-line that could help me quickly was an impossible task quite frankly. Time is precious, and I did not want to waste hours and hours pouring over snippets from forums and the like. The GCC official manual, also online, was totally useless for introduction - a manual maybe, but not an introduction. So this book helped me, and quickly. It is not a big, thick book. As I travel a great deal I appreciate a book that has all the basic information I want in a SLIM package. No, it trades quality, for quantity. The simple HelloWorld program is a great device as you can follow along in practical terms, too. My only criticism would be that the font is a bit old fashioned, but I don't really care about that - for me this has been a great help in solving the problem I was facing and for that I commend the author and publisher and award it 5 shiny stars!
0Comment|9 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 27 April 2010
This is a thin book that itself has an authoritative Open Source feel to it. i.e. Someone who knows what they are talking about - like the mailing list moderator. I like thin books that just tell you the facts.

Again, like a mail-list, it sticks to its domain - we don't wander off into 'make' and autotools - that's whole other mailing list.

Whilst not a literary masterpiece, I am glad I have it, as a quick overview of the components which are the compiler collection.

However, again, like mailing list responses - it gives the bare essentials, and nothing about joining up the dots. You are going to have to buy a thicker book for methodologies; workflow; troubleshooting; and general hand-holding.

And in the final analysis, it has a feel-good factor because the profit goes to the Free & Open Source Software movement - although at this low price I suspect it's little more than a vote of confidence.

Glad I bought it and will probably buy others in the series.
0Comment|4 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 27 December 2013
When I first learnt to program, I did so using an Integrated Development Environment (IDE) called Codeblocks. As a result, whilst I became a decent coder, the actual mechanisms underlying the compilation of my program passed me by. In fact, I could write code but I needed to use the Codeblocks interface to compile what I had written. I had no idea about command-line compilation and a rudimentary idea of the steps your computer takes to go from your high level source (in my case C++) to machine code.

I am ignorant no more (I hope)! This book, whilst only around 120 pages in length contains a brief enough description of the GNU C Compiler and in doing so provides a totally general grounding in the steps of compilation. First off, let me begin with pre-requisites: A familiarity with Unix/GNU Linux OS's (I was running Ubuntu 11.10) and a passable knowledge of either C or C++ (functions, variable declarations, if, for, while etc...) and no mathematics. Regarding the OS, you ought to be familiar with working from the command line.

The book is pretty much a guided tour to using gcc in a command line environment detailing the list of options that can be tacked onto the end of the command. For example `-l' will link against a defined library, `-S' will assemble your code only, not fully compile and a host of other options. First off is an interesting history of gcc followed by a chapter detailing the various steps that what is confusingly called the `compiler' takes (e.g. the compiler -> pre-processes, assembles, compiles and then links your code). There is a very short but very good introduction to the difference between static and dynamic linking and make-files are briefly covered with enough being said to help out a beginner.

The pre-processor itself is given an entire chapter, which is very helpful as it further reinforces the fact that it is the `first stage in the compilation pipeline'. Later in the book there is also a very good chapter about optimizing program performance letting you in on some of the ways the compiler tweaks your code, things like loop-unrolling and CSE (Common Sub-Expression Elimination). Debugging is covered also, as is the compilation of a C++ program with g++. As another reviewer mentioned, there is a revealing and helpful discussion of C++ templates. You will also learn to use the archiver to create your own libraries which is very helpful. I found the chapter on platform specific options very interesting as it increases your awareness of the importance of considering different systems and details how gcc can be used to help.

The code samples (which are in C and C++) when they appear are well explained and often not so long that you would not want to type them out yourself, they further enhance the learning allowing you apply what you have learnt and see it work. Whilst the writing of the book could never be called imaginative, it is clear and unambiguous.

In short the quality of information for the price and size is fantastic. As a programmer of any half decent level you will want to know what compilation involves and whilst this book is specific to gcc and g++ the concepts within it are quite general. I read through this in a few days and found that I could look at makefiles and gcc commands with plenty of options with more confidence and a good idea of what was meant. I have also used the handy trouble-shooting section a few times so it's a handy reference.
0Comment|Was this review helpful to you?YesNoReport abuse
on 29 December 2011
Hardware configuration to exist Linux kernels.
An Introduction to GCC was brough Richard M. Stallman and Brian J. Gough serial books
Using the Gnu Compiler Collection
Using and Porting the Gnu Compiler Collection Gcc
Using GCC: The Gnu Compiler Collection Reference
0Comment|One person found this helpful. Was this review helpful to you?YesNoReport abuse
on 2 April 2007
This book provides an introduction to compiling C and C++ programs with the GNU C Compilers. Lots of examples are given, and is written in a completely non-ambiguous manner. Some good tips are provided, and arguably the best introduction to "C++ templates" I have ever seen is in this book.

As an introduction, it's faultless. I give it 3 stars because the RRP is overpriced.
0Comment|7 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 8 December 2010
I found this book extremely useful. It is very concise, clearly written, and beginner friendly. You can quickly learn all the basic GCC stuff, without having to waste any time. The part on optimization was extremely helpful. This books gives you a strong footing so that you can then go on and understand the most advanced options in GCC. Highly recommended.
0Comment|2 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 3 March 2014
This is not about learning C and C++ but is about how to invoke it, the intricacies of optimisation, linking and compilation. I found it very useful.
0Comment|Was this review helpful to you?YesNoReport abuse
on 1 May 2014
Highly relevant despite it's age and the present x86-64 ubiquity.

Overviews the stages of compilation with, preprocessing, compilation, assembly and linking.

Reasonable coverage of compilation options from warning levels to to optimisation and switches for debugging and profiling.

Concise overview of debugging using gdb and profiling using gprof and gcov.

Handy overview of common errors.

There's also a chapter on C++ but didn't read that as anyone coding in C++ deserves to rot in hell.
0Comment|Was this review helpful to you?YesNoReport abuse
on 27 November 2007
Suggests using LD_LIBRARY_PATH when linking dynamic libraries. Mentions rpath, but says that it is a bad idea. Personally I am 100% of the opposite opinion. LD_LIBRARY_PATH is bad news and should be avoided whenever possible. rpath and $ORIGIN are much superior. No mention that LD_LIBRARY_PATH is not portable (e.g., to Windows or MAC OS X).
The treatment of warning options is skimpy to say the least.
-g is the only debug option described.
The description of the compilation process omits IR entirely.
0Comment|7 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 20 January 2016
0Comment|Was this review helpful to you?YesNoReport abuse

Sponsored Links

  (What is this?)