Re: [ROOT] STL container libs (RE:accessing vars)

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Tue Oct 24 2000 - 12:48:33 MEST


Hi Masa,

   we distribute in the source distribution the procedure to make the
optional cint dll's (just do: make cintdlls to build them). I'll try to
prebuild them for the binary distributions of the next release.

-- Fons


Masaharu Goto wrote:
> 
> Hello Fons,
> 
> There are 2 things about STL and template class precompilation.
> 
> 1) It looks like many people are still using ROOT without precompiled
>   STL containers included in $CINTSYSDIR/stl/*.dll. This will make things
>   much simpler for many users.  Are those files included and/or built in
>   the latest ROOT distribution?  If this is not the case, I recommend
>   installing pure cint also. After the installation $CINTSYSDIR/stl/*.dll
>   are created if you use Linux, HP-UX, Solaris, VisualC++, BorlandC++,etc.
>   If you find those, copy all of them as $ROOTSYS/cint/stl/*.dll
> 
> 2) About compiling template classes with script compiler, I am still not
>   sure about the requirement. Will you elaborate what is needed with
>   some examples?
> 
> Thank you
> Masaharu Goto
> 
> >For basic types, CINT uses the underlying machine representation.
> >However for complex objects, it is not guaranteed that the object
> >layout will be the same if you have an interpreted class not linked in
> >via the LinkDef mechanism versus the machine's representation.
> >Therefore I recommend always using rootcint (or equivalently the script
> >compiler) for linking in complex types. This is even possible with
> >template classes, though an explicit link is needed for each
> >instantiation on the template parameter, and it doesn't seem to work
> >with the script compiler
> >
> >(Note to Masaharu/Philippe: It would be really nice if you could load in a
> >compiled template by doing a script compile of a file with an explicit
> >instantiation of the template, eg:
> >
> >#include <vector.h>
> >template class vector<int>;
> >
> >(as opposed to template <> class vector<int> which is just a name
> >declaration), but this doesn't seem to work right now. It would make pulling
> >in needed templates as you work much easier... In fact, if you wanted to go
> >the extra mile and make it automatically do that, it would be even better (bu
> t >probably harder, maybe too hard).
> >)

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7677910



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:35 MET