Hat eine gemeinsam genutzte C++ - Bibliothek einen eigenen Speicherplatz? Oder teilt es sich den Anruferprozess?Gemeinsamer Bibliotheksspeicherbereich
Ich habe eine gemeinsame Bibliothek, die einige Klassen und Wrapper-Funktionen enthält. Eine dieser Wrapper-Funktion ist irgendwie:
libXXX_construct()
, die ein Objekt initialisiert und den Zeiger auf das Objekt zurückgibt.
Sobald ich libXXX_construct()
in einem Aufrufer-Programm verwendet, wo ist das Objekt platziert? Ist es im Speicherbereich "Aufrufer" oder ist es im Speicher der Bibliothek?
Was ist, wenn die ausführbare Datei, die mit der sharedlibrary verbunden ist, auch eine gemeinsam genutzte Bibliothek ist? Wird das Objekt im inneren .so im selben Speicherbereich des mains erstellt (der letzteres anruft .so) – nick2k3
Es gibt immer nur einen Speicherplatz. –
Vielen Dank. – nick2k3