> 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 <[EMAIL PROTECTED]> 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 ? > >>
Thank you guys for responding to my post. Certainly, it is not a good idea to use _all_ C++ stuff inside the kernel ; in the linux community a similar suggestion resulted in a big discussion of pros & cons. I was asking because I have a big portion of C++ code that I am planning to move inside the kernel. But, having compared the effort/time required to port C++ iostreams into the kernel and the effort/time required to get rid of iostreams , I think I will abandon this challenge for now ;-) Just to let you know "virtual methods" and "templates", among others, are supported inside the kernel... Greetings, -aziz _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"