Pytania otagowane jako linker

Linker jest częścią łańcucha narzędzi do tworzenia plików wykonywalnych z kodu źródłowego napisanego w skompilowanych językach programowania. Pobiera skompilowany kod obiektowy w wielu plikach i tworzy z nich pojedynczy, „połączony”, wykonywalny plik.


5
Jak określić preferencje dotyczące ścieżki biblioteki?
Kompiluję program w języku C ++ przy użyciu g++i ld. mam.so bibliotekę, z której chcę korzystać podczas łączenia. Jednak biblioteka o tej samej nazwie istnieje w programie /usr/local/libi ldwybiera tę bibliotekę zamiast tej, którą bezpośrednio określam. Jak mogę to naprawić? W poniższych przykładach mój plik biblioteki to /my/dir/libfoo.so.0 . Rzeczy, …
95 c++  linker  g++ 

4
Czy mogę zmienić „rpath” w już skompilowanym pliku binarnym?
Mam stary plik wykonywalny zaplanowany na stertę złomu, ale jeszcze go tam nie ma. Opiera się na niektórych bibliotekach, które zostały usunięte z mojego środowiska, ale mam kilka bibliotek zastępczych gdzieś, gdzie działa dobrze. Chciałbym wskazać ten plik wykonywalny na te biblioteki zastępcze. Tak, mógłbym ustawić LD_LIBRARY_PATH, ale ten plik …
93 linux  linker  elf 

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 …

5
Co oznacza błąd „brak dostępnych informacji o wersji” z dynamicznego linkera linuxa?
W naszym produkcie dostarczamy pliki binarne Linuksa, które dynamicznie łączą się z bibliotekami systemowymi, takimi jak „libpam”. W niektórych systemach klientów otrzymujemy następujący błąd na stderr po uruchomieniu programu: ./authpam: /lib/libpam.so.0: no version information available (required by authpam) Aplikacja działa dobrze i wykonuje kod z biblioteki dynamicznej. Więc to nie …
89 linux  linker 


9
zmienne statyczne w funkcji wbudowanej
Mam funkcję, która jest zadeklarowana i zdefiniowana w pliku nagłówkowym. To jest problem sam w sobie. Gdy ta funkcja nie jest wstawiona, każda jednostka tłumacząca, która używa tego nagłówka, otrzymuje kopię funkcji, a kiedy są ze sobą połączone, są duplikowane. „Naprawiłem” to, wprowadzając funkcję w tekście, ale obawiam się, że …

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" …


5
Co znajduje się w pliku .lib biblioteki statycznej, biblioteki dynamicznej połączonej statycznie i biblioteki dynamicznej połączonej dynamicznie?
Co znajduje się w pliku .lib biblioteki statycznej, biblioteki dynamicznej połączonej statycznie i biblioteki dynamicznej połączonej dynamicznie? Dlaczego nie jest potrzebny plik .lib w dynamicznie połączonej bibliotece dynamicznej, a także, że w statycznym łączeniu plik .lib jest niczym innym jak plikiem .obj ze wszystkimi metodami. Czy to jest poprawne?

1
Jakie są opcje wiersza poleceń --start-group i --end-group?
Jaki jest cel tych opcji wiersza poleceń? Proszę o pomoc w rozszyfrowaniu znaczenia następującego wiersza poleceń: -Wl,--start-group -lmy_lib -lyour_lib -lhis_lib -Wl,--end-group -ltheir_lib Najwyraźniej ma to coś wspólnego z linkowaniem, ale w podręczniku GNU jest cicho, co dokładnie oznacza grupowanie.
83 gcc  linker  ld 

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 …


6
wspólne zmienne globalne w C
Jak mogę tworzyć zmienne globalne, które są współdzielone w C? Jeśli umieszczę go w pliku nagłówkowym, wówczas konsolidator narzeka, że ​​zmienne są już zdefiniowane. Czy to jedyny sposób, aby zadeklarować zmienną w jednym z moich plików C i ręcznie wstawić externs na początku wszystkich innych plików C, które chcą jej …

8
Zastąpienie ld złotem - jakieś doświadczenie?
Czy ktoś próbował użyć goldzamiast ld? gold obiecuje być znacznie szybszy niż ld, więc może pomóc przyspieszyć cykle testowe dla dużych aplikacji C ++, ale czy może być używany jako zamiennik ld? Czy mogę gcc/ g++bezpośrednio zadzwonić gold.? Czy są jakieś znane błędy lub problemy? Chociaż goldod jakiegoś czasu jest …
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.