dynamic-linking

Kiedy używać bibliotek dynamicznych i statycznych

Podczas tworzenia biblioteki klas w C++, można wybrać pomiędzy dynamic (.dll) i static (.lib) bibliotek. Jaka jest różnica między nimi i kiedy właściwe jest użycie którego?

Linkowanie statyczne vs linkowanie dynamiczne

Czy istnieją przekonujące powody wydajności, aby wybrać statyczne linkowanie zamiast dynamicznego linkowania lub odwrotnie w ... ość czasu poświęca się na uruchamianie kodu biblioteki, może to mieć duże znaczenie. W przeciwnym razie (1) nadal obowiązuje.

Co oznaczają "statycznie połączone" i "dynamicznie połączone"?

Często słyszę określenia "statycznie połączone" i "dynamicznie połączone", często w odniesieniu do kodu napisanego w C, C++ lub C#. O czym oni są, o czym dokładnie mówią i co łączą?

Co robią linkerzy?

Zawsze się zastanawiałem. Wiem, że Kompilatory konwertują kod, który piszesz na binaria, ale co robią linkery? Zawsze były dl ... "po prostu działa". Rozumiem również podstawy dynamicznego łączenia, ale nic zbyt głębokiego. Mógłby ktoś wyjaśnić warunki?

Co dzieje się ze zmiennymi globalnymi i statycznymi w bibliotece współdzielonej, gdy są one dynamicznie połączone?

Próbuję zrozumieć, co się dzieje, gdy moduły z globalnymi i statycznymi zmiennymi są dynamicznie połączone z aplikacją. Prze ... ułów może być niejasne, czy różne biblioteki mają swoje własne instancje globali, czy też globale są współdzielone. Dzięki.

Wywołanie funkcji Go z C

Próbuję stworzyć statyczny obiekt napisany w interfejsie Go to z programem C (powiedzmy, modułem jądra lub czymś takim). Zna ... mailingowa Golang post Czy ktoś ma z tym doświadczenie? Krótko mówiąc, próbuję stworzyć moduł Pam napisany w całości w Go.

Polecenie gcc bezpośredniego połączenia biblioteki statycznie

Wydaje mi się dziwne używanie -Wl,-Bstatic, aby powiedzieć gcc, z którymi bibliotekami chcę się połączyć statycznie. W końcu ... lioteki bezpośrednio połączyłoby się z nim, ale wolę zachować semantyczny dla włączania bibliotek statycznych i dynamicznych.

Dlaczego gcc nie domyślnie podaje flagi-fPIC podczas kompilacji bibliotek statycznych na x86 64

Miałem wiele problemów z kompilacją współdzielonych obiektów, które łączą statycznie ze statycznymi bibliotekami. Ten problem ... jest potrzebny, dlaczego nie jest dostarczany w sposób dorozumiany ? Myślałem, że przełomowe zmiany mają być wielkim Nie-Nie

Łączenie dwóch bibliotek współdzielonych z tymi samymi symbolami

Łączę się z dwoma różnymi bibliotekami współdzielonymi. Obie biblioteki definiują niektóre symbole, które mają wspólną nazwę, ... od Lib2.so. Czy istnieje sposób, aby Biblioteka zawsze preferowała własną implementację ponad jakąkolwiek inną bibliotekę?

Wymuś, aby GCC powiadamiało o niezdefiniowanych odniesieniach w bibliotekach współdzielonych

Mam bibliotekę współdzieloną, która jest połączona z inną biblioteką współdzieloną (inną). Moja biblioteka współdzielona jest ... a myA; myA.foobar(); } B. h: class b { public: void foobar(); }; B.cpp: #include "b.h" void b::foobar() { }

MySQL nieprawidłowo skonfigurowany powód: niebezpieczne użycie ścieżki względnej

Używam Django i kiedy uruchamiam python manage.py runserver otrzymuję następujący błąd: ImproperlyConfigured: Error loading ... ałem MySQL-python przez pip. I podążałem za tym krokiem wcześniej. Chcę również podkreślić, że to jest z El Capitan Beta 3.

Dlaczego fPIC jest absolutnie konieczny na platformach 64, a nie 32bit?

Ostatnio dostałem: ...Relokacja R_X86_64_32 przeciwko 'symbolowi lokalnemu' nie może być użyta podczas tworzenia obiektu ... i. W poszukiwaniu więcej o różnych rodzajach relokacji znalazłem to i ostatecznie x86_64 ABI reference (patrz strona 68) ]

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?

Jak połączyć używając GCC bez -l ani ścieżki kodowania twardego dla biblioteki, która nie podąża za libNAME.so konwencja nazewnictwa?

Mam bibliotekę współdzieloną, z którą chcę połączyć plik wykonywalny z użyciem GCC. Biblioteka współdzielona ma niestandardow ... .so Czy jest sposób na link do ta biblioteka nie powoduje, że ścieżka zostanie zakodowana na twardo do pliku wykonywalnego?

Statyczne i dynamiczne/wspólne łączenie z MinGW

Chcę zacząć od prostego użycia linkowania, aby wyjaśnić mój problem. Załóżmy, że istnieje Biblioteka z, która może być skompi ... P. S. jest tu wiele pytań, ale myślę, że każde z nich zależy od poprzedniego i nie ma potrzeby dzielenia ich na kilka pytań.

Jak wywołać funkcję z biblioteki współdzielonej?

Jaki jest najprostszy i najbezpieczniejszy sposób wywołania funkcji z biblioteki współdzielonej / dll? Jestem głównie zainter ... } BTW, wiem jak skompilować shared lib (foo.so), po prostu muszę znać prosty sposób na załadowanie go w czasie wykonywania.

używać RPATH, ale nie RUNPATH?

Ta strona - http://labs.qt.nokia.com/2011/10/28/rpath-and-runpath / - mówi o kolejności wyszukiwania bibliotek w ld.so: U ... iała zgodnie z oczekiwaniami? Ale dlaczego wtedy RPATH dostał deprecated na rzecz RUNPATH? Czy ktoś może wyjaśnić sytuację?

Drukowanie ścieżki wykonywalnej na OSX

Chcę zmienić rpath pliku wykonywalnego używając install_name_tool, ale nie mogę teraz rozgryźć, czym jest rpath. install_name ... nowej ścieżki rpath w wierszu poleceń. Jakiego polecenia mogę użyć do wydrukowania ścieżki rpath pliku wykonywalnego pod OSX?

Symulowanie statycznego abstrakcyjnego i dynamicznego łączenia na statycznym wywołaniu metody w Javie

Wprowadzenie Jako zastrzeżenie przeczytałem dlaczego metody statyczne nie mogą być abstrakcyjne w Javie i nawet jeśli z cał ... } } class A extends Entity { static String table = "a"; } class B extends Entity { static String table = "b"; }

Aplikacja C++ - czy powinienem używać linkowania statycznego czy dynamicznego dla bibliotek?

Zamierzam rozpocząć nowy projekt C++, który będzie opierać się na serii bibliotek, w tym część bibliotek Boost, log4cxx lub G ... ydaje się być tak wielką różnicą łatwiej i szybsze cykle testowe Mogę zatrzymać wszystkie dev. cykl na moim dev. maszyna