From: Christophe de V. <cde...@al...> - 2004-10-19 14:51:28
|
Hi Igor, Igor L. Smolovski wrote: >Thing is I did not instantiate any libxml++ object in my program. The >only umbelical cord that connects me to libxml++ in my program is the >following line (apart from the actual call to my function): > >#include <libxml++/libxml++.h> > > You also link to libxml++.so, which statically instanciate a class of type Document::Init (cf document.(h|cc) ). In it's constructor it register the callbacks. BTW, I realised the problems we encounter with static instanciation and compiler other than gcc can be solver using the nifty counter idiom. I'm tempted to do it for next stable release, although I'll have to make sure it does not break ABI. >Am I correct in saying that somewhere in the header files included via >libxml++.h a libxml++ object, which registers itself to libxml2, is actually instantiated? >(If yes, could you possibly direct me to that header file and object?) >I've always thought that libxml++ becomes directly involved only when I actually instantiate an object >in my program, for instance xmlpp::DocParser, etc. > > Just linking to libxml++ is enough. |