Re: [ROOT] how does Cint handle inline function ?

From: Rene Brun (Rene.Brun@cern.ch)
Date: Sat Mar 01 2003 - 15:52:55 MET


Hi HP,

On Sat, 1 Mar 2003, HP Wei wrote:

> 
> Suppose we have B.H file such as:
> 
> // B.H
> class A;
> 
> class B {
> public:
>    B(){};
>    ~B(){};
>    
>    inline bool foo() /* code */ 
>    { process_object_of_A; return true; };
> }
> // ---------------implementation of B is compiled into a shared lib.
> 
> Suppose in B_LinkDef.H,
> we have  
> #pragma link C++ class B-;
> 
> // -------------------------
> 
> Now, let's say we have a block of C++ code:
> {
>    ...
>    B b();
>    
>    /* *** */
>    b.foo();
> }
> 
> For compiled codes,  gcc will insert the binary 
> for /* code */ at the place /* *** */.
> 
> Suppose the same block is submitted to Cint,
> how is b.foo() carried out ?
> I'd guess that Cint traslates b.foo() into a 
> 'function call' that calls the binary of /* code */
> stored in the shared library.
> 
> Do I understand this correctly ?

Yes, you do

Rene Brun

> 
> thanks,
> HP
> 
> 



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:09 MET