public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* c++ libraries
@ 2004-12-10 11:01 Roopesh Kohad
  2004-12-10 15:25 ` Nathan Sidwell
  2004-12-10 15:51 ` Nix
  0 siblings, 2 replies; 3+ messages in thread
From: Roopesh Kohad @ 2004-12-10 11:01 UTC (permalink / raw)
  To: gcc-help

Hi,
    I understand that libstdc++ is standard C++ library implementing
functions in 32 standard headers. But then what are libsupc++ and
libsupc++convenience for?

-- 
regards,
Roopesh Kohad

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: c++ libraries
  2004-12-10 11:01 c++ libraries Roopesh Kohad
@ 2004-12-10 15:25 ` Nathan Sidwell
  2004-12-10 15:51 ` Nix
  1 sibling, 0 replies; 3+ messages in thread
From: Nathan Sidwell @ 2004-12-10 15:25 UTC (permalink / raw)
  To: Roopesh Kohad; +Cc: gcc-help

Roopesh Kohad wrote:
> Hi,
>     I understand that libstdc++ is standard C++ library implementing
> functions in 32 standard headers. But then what are libsupc++ and
> libsupc++convenience for?

The compiler *requires* certain library functions in order to implement
the language -- this is the 'language support library'.  This
is things like dynamic cast helpers and exception matching.  These
are in libsubc++.

libsupc++ is the standalone language support library -- if you do not
use the STL, you only need to link with that.

libsupc++convenience is libsupc++ in a form that is incorporated into
libstdc++

nathan

-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::     CodeSourcery LLC
nathan@codesourcery.com    ::     http://www.planetfall.pwp.blueyonder.co.uk

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: c++ libraries
  2004-12-10 11:01 c++ libraries Roopesh Kohad
  2004-12-10 15:25 ` Nathan Sidwell
@ 2004-12-10 15:51 ` Nix
  1 sibling, 0 replies; 3+ messages in thread
From: Nix @ 2004-12-10 15:51 UTC (permalink / raw)
  To: Roopesh Kohad; +Cc: gcc-help

On 10 Dec 2004, Roopesh Kohad moaned:
> Hi,
>     I understand that libstdc++ is standard C++ library implementing
> functions in 32 standard headers. But then what are libsupc++ and
> libsupc++convenience for?

libsupc++ implements the parts of the C++ runtime specified by the
non-library parts of the C++ Standard: the runtime implementations of
things like the default new and delete operators, exception handling,
the demangler, and the typeinfo infrastructure, as well as things like
the __cxa_guard_*() and EH personality functions required by the G++
ABI.

Its purpose is to let you build tiny statically linked C++ programs
without any of the overheads required by the full C++ standard library;
e.g., you don't pay for construction of the default iostreams if you
just link with -lsupc++.

It's especially useful for embedded work, but can be useful anywhere
where space is tight.


libsupc++convenience is what libtool calls a `convenience library'; that
is, it's a temporary static library whose ultimate purpose is to be
linked into some other library: namely, libstdc++ itself. It is not
installed or distributed in tarballs. It's a bit of a kludge: libtool's
support for multiple-directory projects is, er, perhaps not as elegant
as it could be.

(There's a comment about this in src/libstdc++-v3/libsupc++/Makefile.am,
just above the noinst_LTLIBRARIES line.)

-- 
`The sword we forged has turned upon us
 Only now, at the end of all things do we see
 The lamp-bearer dies; only the lamp burns on.'

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-12-10 15:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-10 11:01 c++ libraries Roopesh Kohad
2004-12-10 15:25 ` Nathan Sidwell
2004-12-10 15:51 ` Nix

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).