Niedawno natrafiłem na bibliotekę DLL zainstalowaną w moim systemie, która mówi, że Dependancy Walker (i każde inne narzędzie, które próbowałem) ma zerowy eksport według nazwy lub liczby porządkowej, ale plik ma rozmiar około 4mb. Myślałem, że jedynym celem DLL jest eksportowanie funkcji do użycia przez inny kod, więc jaki byłby cel dll bez widocznego eksportu?W jaki sposób biblioteka DLL może eksportować zero?
Odpowiedz
Jednym ze sposobów myślenia o DLL jest pojemnik funkcji. Eksportowanie funkcji z biblioteki DLL powoduje, że funkcje te są widoczne dla osób dzwoniących spoza biblioteki DLL. Podczas eksportowania funkcji z biblioteki DLL jest prawdopodobnie najczęstszym sposobem zapewnienia dostępu do nich, wiele platform zapewnia inne sposoby dostępu do funkcji, które nie zostały wyeksportowane, takie jak odbicie w .NET Framework i Java oraz (jak sądzę) LoadLibtary/GetProcAddress w Win32
powody tego są zróżnicowane, często dlatego, że jest korzystna dla dewelopera mieć funkcje w bibliotece, ale niepożądane te funkcje mają być wywoływane z aplikacji zewnętrznych
zasobów tylko DLL, może być? Są one używane dość często do celów lokalizacyjnych, na przykład.
EDYCJA: możliwe jest również posiadanie biblioteki DLL z kodem, który robi coś w DllMain(), aby jakoś udostępnić jej funkcjonalność. Biblioteka DLL może się zarejestrować na przykład w jakimś globalnym module rozsyłającym lub utworzyć obiekty nazwane jądra ...
- 1. Czy biblioteka DLL może wywoływać bibliotekę .NET DLL?
- 2. Czy DLL D może działać w SAS?
- 3. W jaki sposób biblioteka współużytkowana (.so) może wywoływać funkcję zaimplementowaną w programie ładującym?
- 4. Powielona biblioteka DLL w folderze "Wykryte zależności"
- 5. W jaki sposób XSUB Perla może umrzeć?
- 6. W jaki sposób przycisk może uzyskać ostrość?
- 7. W jaki sposób nieinwestycyjnie zwracać `Może` obiektyw?
- 8. Xcode nie może eksportować aplikacji Enterprise
- 9. nie może eksportować funkcję strzałki const
- 10. Czy MEF może eksportować/importować klasy statyczne?
- 11. Zdjęcie szwy/panorama API/DLL/Biblioteka ktoś?
- 12. W jaki sposób program WinSxS rozpoznaje nazwy plików DLL w lokalizacjach DLL?
- 13. Biblioteka ładowań DLL - kod błędu 126
- 14. W jaki sposób program ładujący Maps DLL w celu przetwarzania przestrzeni adresowej
- 15. W jaki sposób są powiązane pliki Header (.h), plik biblioteki (.lib) i DLL (.dll)
- 16. Zewnętrzna biblioteka DLL nie ma "silnej nazwy"?
- 17. W GCC, w jaki sposób mogę eksportować tylko niektóre funkcje w bibliotece statycznej?
- 18. W jaki sposób mogę eksportować html do pliku za pomocą wiersza poleceń w FireFox
- 19. prosty sposób eksportować DataGridView do Excela
- 20. W jaki sposób Intent może mieć wartość null w onHandleIntent()?
- 21. W NSSavePanel, w jaki sposób użytkownik może wybrać określony typ pliku do zapisania?
- 22. W jaki sposób scrapy mogą eksportować elementy do oddzielnych plików CSV na element
- 23. W jaki sposób można eksportować dane mysql do xml przy pomocy php
- 24. Odwoływana biblioteka DLL nie jest kopiowana do projektu odwoływania się
- 25. W jaki sposób std :: stringstream może ustawić bit fail/bad?
- 26. W jaki sposób program może usunąć własny plik wykonywalny?
- 27. W jaki sposób kod może przejść przez response.redirect?
- 28. W jaki sposób FileInputStream może uzyskać zawartość pliku?
- 29. W jaki sposób apache może wysyłać wiadomości e-mail?
- 30. W jaki sposób System.out.printIn() może akceptować liczby całkowite?
To ma sens. Nigdy nie zdałem sobie sprawy (lub nawet nie pomyślałem), że mogą istnieć sposoby użycia biblioteki DLL innej niż za pomocą tabeli eksportu, jeśli ją napisałeś. –