Tworzę wspólną bibliotekę obiektów, która będzie LD_PRELOADed z moim programem. W tej współużytkowanej bibliotece chcę również użyć niektórych zmiennych z mojego programu. Jaki jest sposób deklarowania takich zmiennych. Zauważ, że wspólna biblioteka obiektów jest kompilowana oddzielnie od mojego programu.Jak udostępnić zmienną we wspólnej bibliotece obiektów
5
A
Odpowiedz
2
Tak. Musisz połączyć swój program z --export-dynamic
, aby tablica symboli programu była dostępna dla otwartych bibliotek. Jeśli chcesz kontrolować dokładnie, które symbole są dostępne i przy użyciu łącza libtool
, możesz użyć parametrów, takich jak -export-symbols-regex
, aby określić, które z nich są dostępne. Jeśli symbole wymagane przez bibliotekę nie są dostępne po załadowaniu programu, zawiodą z nieokreślonym symbolem. Niektóre platformy wymagają nieco innych flag łącza (szczególnie Windows). Rozważ skorzystanie z libtool
, aby było to łatwiejsze, jeśli jeszcze nie masz.
Powiązane problemy
- 1. valgrind - Znajdź wyciek pamięci we wspólnej bibliotece
- 2. Django - Jak udostępnić zmienną dla wszystkich szablonów?
- 3. Jak zachować int i tablicę we wspólnej pamięci w C?
- 4. Jak udostępnić tę samą zmienną między modułami?
- 5. Jak przechowywać obiekty STL we wspólnej pamięci (C++)?
- 6. Czy można przechowywać klasę polimorficzną we wspólnej pamięci?
- 7. Bufor pojedynczego producenta/bufora konsumenta we wspólnej pamięci
- 8. dodaj załącznik jako strumień we wspólnej wiadomości e-mail
- 9. jak zrobić zmienną widoczną we wszystkich widokach - tory
- 10. Wyróżnianie obiektów TODO we wszystkich trybach programowania
- 11. Przeszukiwanie tekstu we właściwościach Dostęp do obiektów
- 12. Jak ukryć nazwy plików obiektów w bibliotece statycznej?
- 13. Jak reprezentować stan wspólnej zmienności?
- 14. Jak udostępnić konstruktor tylko klasie fabrycznej?
- 15. Problemy z boost :: lockfree :: kolejka we wspólnej pamięci (doładowanie 1.53, gcc 4.7.2/clang 3.0-6ubuntu3)
- 16. Implementacja wspólnej eliminacji wyrażeń
- 17. Jak udostępnić wpis do linkedin
- 18. Jak udostępnić zmienne w szablonie?
- 19. Jak udostępnić ikonę zakładki UISearchBar?
- 20. Jak udostępnić WAMP w Internecie?
- 21. Jak udostępnić Object.entries w TypeScript?
- 22. Jak utworzyć wątek w przenośnej bibliotece klas?
- 23. jak zrobić zmienną lokalną
- 24. Tworzenie udostępnianej biblioteki z istniejących plików obiektów
- 25. nowy słownik z wspólnej podklucz
- 26. Jak udostępnić zmienne VBA Excelu dla wielu makr?
- 27. Adnotacja udostępnić generyczny typ
- 28. Jak dekompilować zmienną zmienną w Javie?
- 29. Sortowanie listy tablicę obiektów w oparciu o zmienną w obiekcie
- 30. Tworzenie obiektów w pamięci współdzielonej C++