Re: Compiling C++ modules

Avi Kivity
2006-04-25T20:26:26Z

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.