Libgcc symbols
Gabriel Dos Reis
Gabriel.Dos-Reis@cmla.ens-cachan.fr
Mon Apr 16 10:43:00 GMT 2001
"Zack Weinberg" <zackw@Stanford.EDU> writes:
| On Mon, Apr 16, 2001 at 12:42:14PM -0400, Phil Edwards wrote:
| > > Why we still have libio in-tree at all is another question. (I have
| > > never understood why iostreams aren't a layer of paint on top of
| > > the public stdio interface.)
| >
| > Right now, it is. Which is a pity, because it's another layer of buffering
| > and function calls. Efficiency drops considerably on some platforms when
| > iostreams has to funnel everything through stdio.
|
| Then it's not thin enough to be a layer of paint, is it?
|
| What I have in mind is a thing where
|
| cout << "hello world\n";
|
| gets inline-expanded at compile time down to
|
| fputs("hello world\n", stdout);
|
| and even when it can't be that simple, iostreams do no buffering at
| all themselves; they leave all that to stdio.
What they actually do is controlled the underlying basic_streambuf
(given by rdbuf()).
Certainly, we need to teach the front-end to be aware of the C++
library. But, that is a different story and hopefully one can expect
gcc-3.x (x > 0) to address those optimisation issues. C++ makes it
possible not to sync with C I/O through sync_with_stdio() -- which can
prove to be a performance gain.
-- Gaby
More information about the Gcc
mailing list