Re: C++ in kernel (was Re: exception in a device driver)

Anthony Barbachan (barbacha@Hinako.AMBusiness.com)
Mon, 11 Jan 1999 01:39:12 -0500


-----Original Message-----
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Nathan Myers <ncm@cantrip.org>
Cc: linux-kernel@vger.rutgers.edu <linux-kernel@vger.rutgers.edu>
Date: Sunday, January 10, 1999 2:14 PM
Subject: Re: C++ in kernel (was Re: exception in a device driver)

>> The rest is FUD: it's trivial to "figure out" when you are passing a
>> "self" pointer argument around: only non-static member functions have
>> them.
>
>On the contrary
>
>
>foo1.C
>
> blah->foofunc();
>
>
>foo2.C
>
>blahobject::foofunc()
>{
> printf("Hi");
>}
>
>a C++ compiler ends up passing "this" needlessly because it can't tell that
>foofunc of object blahobject need not know who it is.
>

A good optimizing compiler should detect the lack of use of the this
variable and optimize it away. Besides the reason "this" is passed to the
function is to access object variables, so a C version of a C++ object would
have its associated functions passed a structure's address as well.

>Thats only one example.
>
>Alan
>
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to majordomo@vger.rutgers.edu
>Please read the FAQ at http://www.tux.org/lkml/
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/