
Hi Stefan,
Othman, Ossama wrote:
For reference, here's the Linux kernel FAQ item on C++ in the kernel (including drivers):
Hmm, unfortunately that page has a very low signal-to-noise ratio. There is little actual information to be found there, only folklore (which may or may not be true).
Yes indeed.
In particular, the often heard claim about "C++ is slow" and "C++ compilers suck" needs to be substantiated by real numbers / comparisons. (I'm working in High Performance Computing, working mostly with C++.)
Quite right.
The one real argument unfortunately only alluded to is exception handling (stack unwinding). It would be nice to have a technically accurate description of the involved mechanism (let's take the now established C++ ABI for that) and discuss why it is hard / impossible to use in kernel code.
I'm sure there are a great many good discussions to be had over this (and I do know that C++ and POSIX folks like to get into those), but the above page just isn't a good resource to get informed, unfortunately.
I agree. I just wanted to point out that getting C++ code into the kernel is essentially non-starter. Even those writing drivers that won't be going into the kernel (such as proprietary drivers) and contain C++ will most likely have a tough time due to lack of support from the kernel and many kernel developers. Thanks, -Ossama