Re: Would I be violating the GPL?
From: Nix
Date: Wed Nov 02 2005 - 12:26:54 EST
On Wed, 2 Nov 2005, linux-os@xxxxxxxxxxxx announced authoritatively:
> 2. New and delete are a bitch.
s/a bitch/trivial/
they're wrappers around the appropriate kernel memory allocators.
> 3. Link will fail because of the hidden stuff C++ needs that it
> can't find. Okay, just generate some dummy symbols in asm,
> all pointing to the same junk.
Obviously if you try using EH it will always crash hard. That
would be really stupid.
> 4. Once you got it to load, gigantic stack usage will crash.
Er, C++ does not imply `gigantic stack usage'.
However, C++ *will* be discomfited by `struct class', and unless you
want to rule out use of sysfs you're going to have to use it at some
point. And *that* is a bit of a killer unless you want to write half
your app in C and half in C++, which is getting a bit silly.
> So much for C++. Just use C. He probably didn't remember that
> it's a simpler variant.
It's a quite different language which happens to share a lot of ancestry
with C, and which happens to make link-time compatibility with C fairly
easy. Therefore it looks fairly similar; but it is *not* that similar,
not any more. Good C code and good C++ code look utterly different,
and good C++ code probably has no place in the kernel (making, as it
does, heavy use of the templated standard C++ library).
But, no, it doesn't belong in the kernel. (If you're writing a
filesystem, though, filesystem drivers in C++ --- or, for that matter,
Perl, Java or Haskell --- are quite practicable, thanks to the merging
of FUSE.)
--
`"Gun-wielding recluse gunned down by local police" isn't the epitaph
I want. I am hoping for "Witnesses reported the sound up to two hundred
kilometers away" or "Last body part finally located".' --- James Nicoll
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/