dlopen

Automatycznie wykonywane funkcje podczas ładowania bibliotek współdzielonych

Podczas wczytywania bibliotek współdzielonych w systemie Windows, wywołanie LoadLibrary() powoduje, że DllMain in library uru ... ki wątków deattaches from. Czy istnieje podobny mechanizm dla Mac OS X, Linuksa i ewentualnie innych OS-ów zgodnych z POSIX?

budynek a.so jest to również plik wykonywalny

Więc prawdopodobnie każdy wie, że /lib/libc.so.6 glibc może być uruchamiany w powłoce jak normalny program wykonywalny, w któ ... ak można uruchomić pełny dynamiczny linker z tego punktu wejścia, aby można było uzyskać dostęp do funkcji z innych. so ' S?

Wiele instancji Singletona w bibliotekach współdzielonych na Linuksie

Moje pytanie, jak wspomniano w tytule, jest oczywiste i opisuję scenariusz szczegółowo. Istnieje klasa o nazwie singleton zai ... on.num in hello.so after ++ : 0 singleton.num in main : 100 Dowodzi, że istnieją dwie instancje klasy singleton. Dlaczego?

dlopen z pamięci?

Szukam sposobu na wczytanie wygenerowanego kodu obiektowego bezpośrednio z pamięci. Rozumiem, że jeśli zapiszę go do pliku, ... ? Czy mógłbyś wskazać mi cokolwiek z rzeczy, które założyłem, że istnieją? Jest inny sposób, o którym nawet nie pomyślałem?

ścieżka biblioteki po załadowaniu dynamicznym?

Jak mogę pobrać ścieżkę udostępnionej biblioteki z samej biblioteki? Innymi słowy, powiedzmy, że biblioteka X jest ładowana ... // Code to execute when the library is unloaded } } dynamic_library_load_unload_handler_hook; }

Błąd "undefined symbol" podczas ładowania biblioteki za pomocą dlopen

Piszę kod, który używa dynamicznych bibliotek współdzielonych jako wtyczek. Mój wiersz poleceń do budowania bibliotek współd ... alnego, bez konieczności umieszczania wszystkich funkcji użytkowych programu wykonywalnego w innej bibliotece współdzielonej?

Jak załadowana funkcja biblioteczna wywoła symbol w głównej aplikacji?

Kiedy załadowana biblioteka współdzielona jest otwierana przez funkcję dlopen(), czy istnieje sposób na wywołanie funkcji w głównym programie?