kern/99979: Get Ready for Kernel Module in C++
Dag-Erling Smørgrav
des at des.no
Tue Jul 11 14:57:17 UTC 2006
mag at intron.ac writes:
> Dag-Erling [iso-8859-1] Sm grav wrote:
>
>> mag at intron.ac writes:
>>> But "-ffreestanding" doesn't work with C++.
>> While the C++ standard does define hosted and freestanding
>> implementations, its definition is different from (and less useful
>> than) that in the C standard. For instance, the C++ standard requires
>> the existence of abort(), atexit() and exit() even in a freestanding
>> implementation.
>> Basically, one cannot indiscriminately use the same compiler flags
>> for
>> C and C++, because they are very different languages - far more
>> different than they seem on the surface. Modern C++ is very poorly
>> suited for low-level code.
>
> Just as you said, C++ is more complicated than C. However, without
> C++ exception and other advanced features, it hasn't brought much
> complexity to C++ runtime library. Early C++ compiler even translates
> C++ code into C code before real compilation.
Several C++ compilers still do that, but that is irrelevant. What is
relevant is the size and complexity of the runtime support library.
> For example, I think C++ exception handling is really poorly suited for
> low-level code.
Exception handling is required by the standard, even for freestanding
implementations.
> Is the "object model" described in FreeBSD Architecture Handbook?
> (http://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/kernel-objects.html)
Yes.
> But the "object model" is still obscure to understand no matter how many
> people all over the world master C++.
The fact that you don't understand it doesn't mean it's bad.
> What's more, can the "object model" function really as OpenDarwin's
> IOKit class model?
Does it need to?
> Now, OpenDarwin has owned a C++-based kernel object model. But why
> cannot FreeBSD?
Look, if you want MacOS X, you know where to find it.
> Well, you can LOOK DOWN UPON me, but I believe you cannot throw doubt on
> FreeBSD's actuality: so weak USB support (kernel crash easier than many
> other OSs that we laughed at and that we are laughing at), so weak PCI
> device support.
Please provide references to the PRs you filed about these issues.
DES
--
Dag-Erling Smørgrav - des at des.no
More information about the freebsd-hackers
mailing list