views:

130

answers:

5

Possible Duplicate:
The Definitive C++ Book Guide and List

I have a basic knowledge of C++, but I am not a Computer Science major. I was looking for a good book for beginners that explains what happens to the code once I click compile or build.

Specifically I am trying to make sense of terms like objects, building, compiling, linking. I have tried searching Google but not sure if I am searching for the right thing.

In short, any book / article that explains what happens from the point I click 'build' to the point an exe is generated is most welcome.

Best Regards

A: 

This is a good one: Compilers, Alfred V. Aho

pablosaraiva
http://meta.stackoverflow.com/questions/25840/can-we-stop-recommending-the-dragon-book-please
Martin Beckett
I agree with Marting. That's a good, thorough, and somewhat outdated book teaching your the theory behind compilers to help your write your own. It's not good if you want to know how a compiler-linker tool chain generates an executable from source code. Note how the very review you link to says "The contents of this book apply to anyone doing any sort of language development".
sbi
Sure. I've read it already when I wrote a compiler at my Computer Science Course. I still think its a good book for someone who wants to know how a compiler works.
pablosaraiva
A: 

There are some details about the build process in http://www.acm.uiuc.edu/sigmil/RevEng/ch02.html . It pretty much describes the whole process, though not in intimate detail. (The differences between compilers seem to be glossed over a bit. Most notably, it doesn't mention C++'s name mangling, which seems like a big deal.)

cHao
+1  A: 

Linkers and Loaders by Levine is very readable and very informative.

http://www.iecc.com/linker/

Paul Nathan
A: 

Probably this wikipedia article might give an overview of what you are looking for:

Computer programming

anand.arumug
Seriously? You could have linked to Wikipedia pages on [compilers](http://en.wikipedia.org/wiki/Compiler), [linkers](http://en.wikipedia.org/wiki/Linker_%28computing%29), any of thousand different programming languages...and you pick the most generic, probably least applicable page in the whole freaking tree?
cHao
That page on Computer programming has links to compilers and other steps in the process of building a program. Also gives some extra context and further reading.
anand.arumug
A: 

If you want to know EVERYTHING about a compiler, check out "Engineering a Compiler" by Keith Cooper. The first chapter or two will be good for you, and then past that point it really is for engineering a compiler.

This answer isn't exactly for the question you asked, but it is relevant. I would recommend checking out this book from a library, or borrowing it from a friend to read, but not buying it unless you are (or want to become) a software engineer.

Brian Stinar