Adrian Chadd wrote:

> Ok, how's that work for exposing C++ interfaces in Squid to external
> modules? Things could get quite ugly if you're going C++ -> C -> C++..

Perhaps I was unclear.  There's no C++ -> C -> C++; the only C step is
module_init(), which is called when the module is loaded and registers a
bunch of C++ functional objects in their containers (e.g., in Squid,
probably an execution stack).  The rest is C++.  Only, if you seek
portability, and thus do not rely on -rdynamic working fine with g++
only on Linux (and most Unices), you need to move everything your
modules may need to use, include the functional objects storage (the map
in my example) into a (dynamic) library the modules can be linked
against.  Note that, AFAIR, I could make those modules work also on
Cygwin; don't remember if either by -rdynamic or it's not needed at all.
 I know it is on Linux.

Cheers, p.



Ing. Pierangelo Masarati
OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
---------------------------------------
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Email:   [EMAIL PROTECTED]
---------------------------------------


Reply via email to