Pytania otagowane jako shared-libraries

Biblioteki współdzielone to biblioteki ładowane przez programy podczas ich uruchamiania. Pojedyncza współużytkowana kopia każdej biblioteki jest ładowana do pamięci fizycznej i może być używana przez wiele procesów jednocześnie. Zmniejsza to zużycie pamięci i poprawia wydajność systemu. Ten tag nigdy nie powinien być używany samodzielnie.




19
Błąd systemu Linux podczas ładowania bibliotek współdzielonych: nie można otworzyć pliku obiektu współdzielonego: brak takiego pliku lub katalogu
Program jest częścią pakietu testowego Xenomai, skompilowanego krzyżowo z Linux PC na Linux + Xenomai ARM toolchain. # echo $LD_LIBRARY_PATH /lib # ls /lib ld-2.3.3.so libdl-2.3.3.so libpthread-0.10.so ld-linux.so.2 libdl.so.2 libpthread.so.0 libc-2.3.3.so libgcc_s.so libpthread_rt.so libc.so.6 libgcc_s.so.1 libstdc++.so.6 libcrypt-2.3.3.so libm-2.3.3.so libstdc++.so.6.0.9 libcrypt.so.1 libm.so.6 # ./clocktest ./clocktest: error while loading shared libraries: libpthread_rt.so.1: …

1
Jaka jest różnica między plikami bibliotek .so, .la i .a?
Wiem, że .soplik jest rodzajem biblioteki dynamicznej (wiele wątków może współdzielić takie biblioteki, więc nie trzeba mieć więcej niż jednej kopii w pamięci). Ale jaka jest różnica między .ai .la? Czy to są wszystkie biblioteki statyczne? Jeśli biblioteki dynamiczne mają duże zalety w stosunku do bibliotek statycznych, dlaczego wciąż istnieje …



7
ld nie może znaleźć istniejącej biblioteki
Próbuję połączyć aplikację z g ++ w tym systemie Debian lenny. ld skarży się, że nie może znaleźć określonych bibliotek. Konkretnym przykładem jest tutaj ImageMagick, ale mam podobne problemy z kilkoma innymi bibliotekami. Dzwonię do konsolidatora z: g++ -w (..lots of .o files/include directories/etc..) \ -L/usr/lib -lmagic ld narzeka: /usr/bin/ld: …

4
Dynamiczna biblioteka współdzielona C ++ w systemie Linux
To jest kontynuacja kompilacji Dynamic Shared Library z g ++ . Próbuję utworzyć współdzieloną bibliotekę klas w C ++ w systemie Linux. Jestem w stanie skompilować bibliotekę i mogę wywołać niektóre (nieklasowe) funkcje, korzystając z samouczków, które znalazłem tutaj i tutaj . Moje problemy zaczynają się, gdy próbuję użyć klas …


4
Funkcje Call Go z C
Próbuję utworzyć obiekt statyczny napisany w Idź do interfejsu z programem C (powiedzmy, moduł jądra lub coś w tym rodzaju). Znalazłem dokumentację dotyczącą wywoływania funkcji C z Go, ale nie znalazłem zbyt wiele na temat tego, jak przejść w drugą stronę. Odkryłem, że jest to możliwe, ale skomplikowane. Oto co …

4
Jak stworzyć współdzieloną bibliotekę za pomocą cmake?
Napisałem bibliotekę, którą skompilowałem przy użyciu samodzielnie napisanego pliku Makefile, ale teraz chcę przełączyć się na cmake. Drzewo wygląda tak (usunąłem wszystkie nieistotne pliki): . ├── include │ ├── animation.h │ ├── buffers.h │ ├── ... │ ├── vertex.h │ └── world.h └── src ├── animation.cpp ├── buffers.cpp ├── ... …


7
Dlaczego Python nie może znaleźć obiektów współdzielonych, które znajdują się w katalogach w sys.path?
Próbuję zaimportować pycurl: $ python -c "import pycurl" Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: libcurl.so.4: cannot open shared object file: No such file or directory Teraz libcurl.so.4jest w /usr/local/lib. Jak widać, jest to sys.path: $ python -c "import sys; print(sys.path)" ['', '/usr/local/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg', '/usr/local/lib/python25.zip', '/usr/local/lib/python2.5', …


5
Jak stworzyć własną bibliotekę do programowania na Androida, która będzie używana w każdym programie, który napiszesz?
Jestem programistą w Delphi i przez lata napisałem setki zajęć i procedur, których mogę używać w każdym programie Delphi, który piszę. Ta biblioteka nazywa się dlib i może być używana w każdym programie Delphi, umieszczając ten folder w mojej ścieżce do biblioteki i używając jednej z jednostek w sekcji zastosowań …


1
Jaka jest różnica między -rpath a -L?
gcci ldzapewniają wiele sposobów określania ścieżki wyszukiwania bibliotek - między innymi flagi -rpathi -L. Strony podręcznika nie ujawniają różnic między tymi dwiema flagami, co oznacza, że ​​każda flaga dodaje bibliotekę do ścieżki wyszukiwania biblioteki. Jednak wydaje się dziwne, że obie flagi robią dokładnie to samo. Jakie są różnice, jeśli w …


11
Błąd INSTALL_FAILED_MISSING_SHARED_LIBRARY w systemie Android
Kiedy próbuję uruchomić aplikację na Androida, która korzysta z Google API, pojawia się następujący błąd [2009-07-11 11:46:43 - FirstMapView] Błąd instalacji: INSTALL_FAILED_MISSING_SHARED_LIBRARY [2009-07-11 11:46:43 - FirstMapView] Sprawdź dane wyjściowe logcat, aby uzyskać więcej informacji. [2009-07-11 11:46:44 - FirstMapView] Uruchomienie anulowane! Czy ktoś może mi pomóc rozwiązać ten błąd?

7
Kompilacja kończy się niepowodzeniem i komunikat „relocation R_X86_64_32 do„ .rodata.str1.8 ”nie może być użyty podczas tworzenia obiektu udostępnionego”
Próbuję skompilować ten kod źródłowy z pliku makefile w VPS, ale nie działa. VPS to 64-centowy system operacyjny Oto pełny błąd # make gcc -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/amx/*.c g++ -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/*.cpp g++ -c -O3 -w -DLINUX -I../SDK/amx/ *.cpp g++ -O2 -fshort-wchar -shared -o "TCP_V1.so" …

4
Łatwe sprawdzenie nierozwiązanych symboli w bibliotekach współdzielonych?
Piszę dość dużą bibliotekę współdzielonych obiektów C ++ i napotkałem mały problem, który sprawia, że ​​debugowanie jest uciążliwe: Jeśli zdefiniuję funkcję / metodę w pliku nagłówkowym i zapomnę utworzyć dla niej kod pośredniczący (podczas programowania), ponieważ tworzę jako współdzieloną bibliotekę obiektów, a nie plik wykonywalny, nie pojawiają się żadne błędy …


5
Dynamiczne linkowanie - Linux vs. Windows
Pod Windows, kiedy kompiluję kod C / C ++ w projekcie DLL w MSVC, otrzymuję 2 pliki: MyDll.dll MyDll.lib gdzie, o ile rozumiem, MyDll.libzawiera pewnego rodzaju tabelę wskaźników wskazującą lokalizacje funkcji w bibliotece dll. Podczas korzystania z tej biblioteki DLL, powiedzmy w pliku exe, MyDll.libjest ona osadzana w pliku exe …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.