Kitaplık içinde bir işlev var mı, yoksa derlenmiş kitaplıktaki işlevleri mi listeleyeceğim?Derlenmiş kütüphanede bulunan mevcut işlevleri nasıl listelersiniz?
cevap
Statik kitaplıklardaki sembolleri listelemek için nm komutunu kullanabilirsiniz.
nm -g -C <libMylib.a>
kullanımı bu komut: -t
objdump "your-kütüphane"
İstediğin daha basacaktır - sadece isimleri işlev, ancak tüm sembol tablosu. Aldığınız sembollerin çeşitli özelliklerini kontrol edin ve fonksiyonları değişkenlerden ve şeylerden ayırabilirsiniz.
Linux/Unix altında, belirli bir nesnede bulunan dışa aktarılan sembolleri listelemek için objdump -T
kullanabilirsiniz. Windows altında dumpbin
(IIRC dumpbin /exports
) var. Aşırı yüklenmelere izin vermek için C++ işlev adlarının karıştırıldığını unutmayın.
DÜZENLEME: codelogic'in anwser'u gördükten sonra, objdump'in de-manganizasyonu gerçekleştirmek için -C'yi de anladığını hatırlıyorum.
ELF ikili için, readelf kullanabilirsiniz:
readelf -sW a.out | awk '$4 == "FUNC"' | c++filt
-s
: Liste sembolleri -W
: awk komut sonra tüm fonksiyonları filtrelemek ve c olacak
çok uzun isimler kesmeyin ++ filtreleri bunları çözmeyecek. Bu, onları bir iç isimlendirme şemasından dönüştürecek, böylece insan tarafından okunabilir formda görüntülenecekleri anlamına gelir. O (boost.filesystem lib alınan) buna benzer isimler verir:
C++ filt olmadan285: 0000bef0 91 FUNC WEAK DEFAULT 11 boost::exception::~exception()
, adı _ZN5boost9exceptionD0Ev
Microsoft araçları için
olarak görüntülenir, "link /dump /symbols <filename>
" Size kanlı verecek detaylar. Daha kolay okunan bir liste vermek için başka yollar (veya seçenekler) vardır.
- 1. Paket bağımlılıkları için mevcut tüm işlevleri araştırın.
- 2. Neden hotspot, derlenmiş yöntemler derlenmiş?
- 3. Sadece kullanıcı tarafından oluşturulmuş değişkenleri PowerShell'de nasıl listelersiniz?
- 4. VS2010: Bağlantı tek kütüphanede statik
- 5. Android için işleme 3, registerReceiver ve getApplicationContext işlevleri mevcut değil
- 6. Bulunan kurucuların hiçbiri, mevcut servisler ve parametrelerle çalıştırılamaz. Autofac
- 7. OpenSSL'nin SHA256 işlevleri nasıl kullanılır?
- 8. Önek uzantısı işlevleri
- 9. Bir kütüphanede ThreadPool kullanmak kabul edilebilir mi?
- 10. IOS-xcode 7, dış kütüphanede hata ayıklama
- 11. bcc32c'de bc32c ile oluşturulmuş statik bir kütüphanede nasıl kullanılır bch32c
- 12. Derlenmiş bir Jar dosyası çalıştırılıyor Jenkins
- 13. çerçevelerinde bulunan
- 14. Golang'daki ana paket işlevleri nasıl test edilir?
- 15. PySpark'ta pencere işlevleri nasıl kullanılır?
- 16. Mysql'de toplama işlevleri nasıl kullanılır?
- 17. Ad alanının işlevleri nasıl listelenir?
- 18. Yinelemeli anonim işlevleri nasıl yazarım?
- 19. Derlenmiş İfade Ağacı Performansı
- 20. , döküm derlenmiş dosyayı başlatılamadı
- 21. Linphone'un Derlenmiş EXE'ü çalıştırılamıyor
- 22. Derlenmiş bir çekirdek modülünün sürümü nasıl bulunur?
- 23. Çeviri dosyalarını derlenmiş swf dosyasında nasıl değiştirebilirim?
- 24. Derlenmiş derlemeden orijinal .NET dilini nasıl belirlersiniz?
- 25. Bir açısal öğeden derlenmiş nodeValue nasıl alınır
- 26. Qt projesinde önceden derlenmiş başlıklar nasıl kullanılır?
- 27. Derlenmiş JS dosyaları önceki typescript (.ts) dosyalarından nasıl silinir?
- 28. Derlenmiş JavaScript olarak CoffeeScript'i görüntüleyin
- 29. Sevkiyat işlevleri
- 30. Toplama işlevleri