Ich verwende derzeit die GLib g_module
Funktionen, um einige gemeinsame Objekte während der Laufzeit zu laden.Failsafe Möglichkeit zum Laden freigegebenen Objekts
Der einfachste Weg, ich benutze, ist die folgende:
- Anruf
g_module_open
das Modul - Danach rufen Symbole
g_module_make_resident
- Last zu erhalten, indem
g_module_symbol
Verwendung Wie ich bin Englisch: www.mplayerhq.hu/DOCS/HTML/en/menc-...d-mpeg4.html Wenn ich dies als eine grundlegende Möglichkeit benutze, Plug - in - Kompatibilität hinzuzufügen, interessiert mich, ob es einen guten Weg gibt, um sicherzustellen, dass selbst wenn das geladene Modul einen Fehler hat (wie Speicherbeschädigung (malloc
/free
)) die Hauptanwendung kann diesen Fehler "nur fangen", ohne alles zu stürzen?
ich wirklich nicht wollen, dass Sie keinen Code schreiben, ich bin nur daran interessiert, wenn es eine gute Möglichkeit ist, dies zu achive ...
Gemeinsam genutzte Bibliotheken werden in den Prozessadressraum geladen. Also nein, du kannst deinen Prozess nicht wirklich von Fehlern in der gemeinsam genutzten Bibliothek isolieren –
ah okay, das ist traurig, aber trotzdem danke;) Du solltest das eine Antwort geben ... – mame98