Re: Compiling C++ modules
From: Avi Kivity
Date: Tue Apr 25 2006 - 16:26:21 EST
Bongani Hlope wrote:
On Tuesday 25 April 2006 18:46, Avi Kivity wrote:
Should you want to allocate from the heap, try this:
{
spinlock_t::guard g(some_lock);
auto_ptr<Foo> item(new (gfp_mask) Foo); /* or pass a kmem_cache_t */
item->do_something();
item->do_something_else();
return item.release();
}
I love C++, but you have to stop it now. Imagine how many auto_ptr<Foo> will
you use inside your kernel. The compiler will need to create a separete class
for each. Using templates in the kernel will be plain silly.
auto_ptr<>'s are fully inlined so their impact is nil.
(And actually I dislike C++, it only looks good next to C)
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
-
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/