Hi all.
I've done some reading on this, but with the amount of new 'buzz' words springing up, i'm getting confused.
While doing an apt-cache search i saw a number of different types of libraries. I wanted to know the difference between them. If someone could explain to me or point me to a good site that distinguishes between :
(1) runtime library
(2) debug library
(3) development library
Runtime library: the shared library necessary to run applications that are dependent on this library.
Debug library: a runtime library compiled with debugging information (-g) which can be potentially useful for tracking down library related bugs.\
Development library: typically this is a package containing header files and static libraries needed to compile applications to use the library. This is only needed by developers, not regular users of the library. This package may also include developer documentation.
Runtime libraries are common to come packed with a compiler such as VC++. They defined functions built into C++ DURING runtime of the application. This can be a shared or static and more than often is it statically made BECAUSE otherwise, people without the runtime is required to go online and manually download them shared runtime.
Debug Library isn't necessarily a runtime library since it isn't always needed during runtime immediately. It's normally a library that produces simply debugging techniques that allows the user (developer) to pinpoint his problem that he produced.
These terms aren't exactly specific so hardly do you see them over the internet. When you do, you need to simply interpret the situation the word was placed in as to get a better understanding of what they mean.
No, the C++ standard library is simply a series of specifications implemented by different people. The classes here: http://cplusplus.com/reference/ make up the standard library. It itself isn't a pysical library but simply a specification implemented by your compiler's developers. It could be a static library or it could be shared or neither (most of these are headers which then make all of the specifications inline functions and what not). Hard to explain but I think I explained it correctly..
With most compilers on most Unix systems, the C++ runtime library is a shared library. Most of the C++ standard library is implemented only in C++ header files which require no library at all. What remains lives in the compiler's C++ runtime library, along with core language runtime support functions.