newbio has asked for the wisdom of the Perl Monks concerning the following question:
From practical perspective, I generally remain confused when it comes to the following terms in relation to, say C language/visual studio. Please explain to me from a practical, easy to understand, perspective.
1. API - what are they? Are these also known as DLLs or Libs or header files? Can .exes be called APIs?
2. Build - Process of compilation. Right?
3. Compilation - Does compilation in C produce .exe or .DLL or anything else? What I understand by compilation is that source code gets converted to some binary format and some linking takes place. I don't understand what all gets linked in this process. What exactly happens in the computer memory in this process?
4. Linking - Linking of necessary fucntions. Right?
5. Run - Run is used to execute the binary (.exe or .dll?) produced by Compilation. Do other functions/system resources required by the source code (that generates the .exe) reside within the .exe or are they used externally as and when when .exe requires them? What exactly happens in the computer memory in the Run process?
6. DLL - Not too clear about it. How and what are being linked here. Also, what's the motivation, necessity of making a DLL in the first place? Why shouldn't I make an .exe instead of this?
7. Exe - A standalone program. But, can such programs function in the absence of compiler say visual studio or something?
8. Libs (library) - It is a collection of functions. Right? Does that mean that it is a single file that contains definitions of other functions in a project? What is its importance, motivation of having it? Are they used through some header file?
9. Header file - Its a collection of functions. Can it also be called a Lib? What's the difference between Lib and header file?
10. Function/subroutine/method - I guess loosely they all mean the same. Right?
11. Broadly, what are the associations and differences between APIs, DLLs, Header files, Libs, linking etc.
Also, please suggest links to any good tutorial, material on the above subject.
Thank you very much in advance.
Raj
Considered by holli: mark as off-topic
20050303 Unconsidered by Corion: Too many keep votes: edit:34 keep:12 del:5
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Newbie programming questions
by ikegami (Patriarch) on Mar 01, 2005 at 15:04 UTC | |
Re: Newbie programming questions
by samizdat (Vicar) on Mar 01, 2005 at 14:57 UTC | |
Re: Newbie programming questions
by cbrandtbuffalo (Deacon) on Mar 01, 2005 at 13:34 UTC | |
Re: Newbie programming questions
by Joost (Canon) on Mar 01, 2005 at 13:50 UTC | |
Re: Newbie programming questions
by darkphorm (Beadle) on Mar 01, 2005 at 19:05 UTC | |
Re: Newbie programming questions
by manav (Scribe) on Mar 01, 2005 at 17:33 UTC | |
Re: Newbie programming questions
by zakzebrowski (Curate) on Mar 01, 2005 at 17:48 UTC | |
by halley (Prior) on Mar 01, 2005 at 19:33 UTC | |
by BUU (Prior) on Mar 02, 2005 at 02:07 UTC | |
by dakkar (Hermit) on Mar 02, 2005 at 14:26 UTC | |
Re: Newbie programming questions
by newbio (Beadle) on Mar 02, 2005 at 11:33 UTC | |
Re: Newbie programming questions
by crypix (Acolyte) on Mar 04, 2005 at 03:40 UTC |