Hi Paolo, in ROOT the TSystem::Load() was is used, which hands of the dlopen/dlclose to CINT. The NOCINT flag was still from the very early days (about 10 years ago) that we were not 100% CINT based. Cheers, Fons. Paolo Adragna wrote: > Hello everyone. > > Let's suppose that I would like to use dynamically loaded libraries inside a > program (a compiled one, I mean) who is heavily exploiting ROOT capabilities. > I suppose I should use, for I'm working on a Linux platform, > > TUnixSystem::Load to load the library > TUnixSystem::Unload to unload it. > > For the purpose of compare different pieces of code I'm revising, I took a > look to the source code of TUnixSystem, especially to the Load and Unload > member function. I am interested in understanding the difference between > ROOT's way of loading library and dlopen-dlclose way. > > I don't undestand the preprocessor statement #ifdef NOCINT inside Load > > #ifdef NOCINT > int i = UnixDynLoad(module); > if (!entry || !strlen(entry)) return i; > > Func_t f = UnixDynFindSymbol(module, entry); > if (f) return 0; > return -1; > #else > return TSystem::Load(module, entry, system); > #endif > > and inside Unload > > #ifdef NOCINT > UnixDynUnload(module); > #else > if (module) { TSystem::Unload(module); } > #endif > > functions. What is the path the ROOT compiled classes follow when the code is > executed. To put it another way, what is the option ROOT team gives when he > compiles the framework? What function is used inside my compiled code: > UnixDynLoad or TSystem::Load? > > Thanks a lot, > > Paolo > > >
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET