[ROOT] how does Cint handle inline function ?

From: HP Wei (hp@rentec.com)
Date: Fri Feb 28 2003 - 21:05:18 MET


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 ?

thanks,
HP



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