Yes, I know virtual memory management.
Support we have class B derived from Class A which has virtual
functions. If I understand correctly, compiler will create a virtual
table for class B in the data area and Class B will have a pointer to
vtable. Suppose Process A and Process B create object of type Class B,
how the vtable is shared.?
Bo Persson wrote:
schand wrote:
Ian Collins wrote:
schand wrote:
How does the virtual table accessed in MMU based system?
The question is too implementation specific. Try a group dedicated
to your environment or you compiler documentation.
--
Ian Collins.
I checked the compiler manual I could not locate the virtual table
implementation. My ARM hardware has MMU enabled and the OS
process/task is running in separate memory area(with MMU support).
There is no shared memory support. So I want to know if two process
access the derived class (virtual pointer) objects and how the
virtual table is shared between these processes. As per my
understaning vtable is stored in the data segment.
That is two entirely different uses of the word 'virtual'. They are
not connected in any way.
The MMU handles hardware virtuals, while the vtable is entirely a
software thing (and optional at that).
Bo Persson