ashley@cheops.eecs.unsw.oz (Ashley M. Aitken) (04/15/89)
G'Day,
In the C++ newsgroup Tom Mueller brought up the question of C++
objects and shared memory. Objects with pointer elements, either
explicitly as data objects or implicitly as virtual funcitons,
will not function properly when accessed by different processes
in shared memory because the shared memory will most likely not
be attached at the same point in two different processes. Also if
one object in shared memory points to an implementation function
in the address space of one process, then another process which
tries to use that object will not be able to access the implemen-
tation function.
Basically, are C++ and Shared Memory compatible or can they be
made compatible?
Are there any know ways around these problems?
I thought of using a common installed library (using "inlib") to
hold all the common object implementation code. Then the objects
would all point to the common code in the library. However this
also relies on the installed library being located at the same
spot in the address space of all shells (and their processes)
which have that library installed.
How does one use (ie compile with ccxx and load) user installed
libraries ?
Are user installed libraries a work-around some of shared
memories incompatibilities with objects in C++. Of course in-
stalled libraries can not stop the use of pointers from outside
shared memory directly into shared memory (rather than an offset
from the base of shared memory) but if we could get virtual func-
tions that would be half the battle.
If you have any ideas how to get around these problems (especial-
ly how to use the inlib facility if it will be of some help) I
would be most grateful if you could please e-mail me at the ad-
dress given below. If there is enough interest I will summarize
to the net.
Thanks in Advance,
Cheers,
Ashley Aitken.
E-MAIL ashley@cheops.unsw.oz ACSnet
ashley%cheops.unsw.oz@uunet.uu.net ARPAnet
ashley@cheops.unsw.oz.au ARPAnet
{uunet,ukc,ubc-vision,mcvax}!munnari!cheops.unsw.oz!ashley UUCP
ashley%cheops.unsw.oz@australia CSnet
ashley%cheops.unsw.oz@uk.ac.ukc JAnet
Computer Science Department, EECS,
University of New South Wales,