Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Apr 2005 02:26:43 +0000
From:      Chuck Robey <chuckr@chuckr.org>
To:        David Leimbach <dleimbac@gmail.com>
Cc:        hackers@freebsd.org
Subject:   Re: KLD module with C++ iostreams ?
Message-ID:  <42670F63.4000901@chuckr.org>
In-Reply-To: <5bbfe7d4050420191316a629b7@mail.gmail.com>
References:  <37e1316605042019072b5d7a0e@mail.gmail.com> <5bbfe7d4050420191316a629b7@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
David Leimbach wrote:
> Interesting question.  People usually have to implement the C++
> runtime to be usable from within the kernel.  Things like exceptions
> and "stdout" may not be defined in kernel space :)
> 
> I'm not terribly familiar with how it works on FreeBSD but I know it
> took a special effort to get C++ support into linux.
> 
> Dave
> 
> On 4/20/05, Aziz KEZZOU <opensource.enthousiat@gmail.com> wrote:
> 
>>Hi hackers,
>>I am wondering if I can use c++ iostreams inside the kernel ?
>>After all the code : cout << "Hello world!" << endl;
>>ends accessing the stdout just like : printf("Hello world!\n"); right ?

No, that's not true, all the iostreams stuff is totally independent. 
The iostreams stuff is coming from some of the ugliest code in C++. 
But, that's not the question, or at very least, it shouldn't BE the 
question.  There is ZERO need to bring in features from C++, all it will 
do is to directly confuse the code base by greatly adding to the 
complexity of the code, without giving anything like equivalent features.

Some very, very elegant work has been code, OO-ing the kernel code, 
adding OO features, all without violating the C language code base. 
Adding in C++ features over stdio stuff is so senseless, it's nearly 
obscene.

If the gain at the end of the road was large enough, I wouldn't be 
against it so stridently, but I see *so* little gain.

BTW, you know where the ugliest code in computer science today is: half 
is in the actual implementation of the cstdio/template code, the other 
half is the iostreams stuff.  The fact that they energize some very 
elegant code is causing many folks never to see the fact of the horrible 
code lumps that exist out in the backyard.

>>
>>So if I could compile my KLD module with static linkage to libstdc++,
>>that should be ok, right ?
>>
>>Any one did or knows how to do this ?
>>
>>Thanks,
>>-aziz
>>_______________________________________________
>>freebsd-hackers@freebsd.org mailing list
>>http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>>To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
>>
> 
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42670F63.4000901>