Zde jsem našel odpověď na svou otázku. Pokud tomu rozumím, potřebuji zpřístupnit typové informace v 'testc' knihovně 'testd'. Chcete-li to provést pomocí dlopen()
, je třeba udělat dvě věci navíc:
- Při propojování knihovny předejte linkeru
-E
možnost, abyste se ujistili, že exportuje všechny symboly do spustitelného souboru, nejen ty, které v něm nejsou vyřešeny (protože žádné nejsou) - Při načítání knihovny pomocí
dlopen()
, přidejteRTLD_GLOBAL
možnost, abyste zajistili export symbolů pomocítestc
jsou také dostupné protestd
Gcc obecně nepodporuje RTTI přes hranice dlopen. Mám osobní zkušenost s tímto zpackaným pokusem/úlovkem, ale váš problém vypadá jako více stejný. Bohužel se obávám, že se přes dlopen musíte držet jednoduchých věcí.
a.out nahrazeno formátem souboru ELF?
Proč je v kontextu PHP / Apache / Linux přesně chmod 777 nebezpečný?