Bir ikili dosya - Windows statik kitaplığı (* .lib) var.
Bu kütüphaneden fonksiyonların isimlerini ve arayüzlerini bulmanın basit bir yolu var mı?
Benzer bir şey emfar
ve elfdump
yardımcı programlar (Linux sistemlerinde)?
Bir ikili dosya - Windows statik kitaplığı (* .lib) var.
Bu kütüphaneden fonksiyonların isimlerini ve arayüzlerini bulmanın basit bir yolu var mı?
Benzer bir şey emfar
ve elfdump
yardımcı programlar (Linux sistemlerinde)?
Yanıtlar:
Statik bir kitaplıktan bahsettiğinizi varsayarsak, kitaplıktaki DUMPBIN /SYMBOLS
işlevleri ve veri nesnelerini gösterir. Bir içe aktarma kitaplığından ( .lib
DLL'den dışa aktarılan sembollere atıfta bulunmak için kullanılır) bahsediyorsanız , o zaman istersiniz DUMPBIN /EXPORTS
.
"C" ikili arayüzüne bağlı işlevler için, bunun yine de size değer, parametre veya çağrı kuralı döndürmeyeceğini unutmayın. Bu bilgi hiç kodlanmamıştır .lib
; bunları doğru bir şekilde çağırmak için önceden (örneğin, başlık dosyalarındaki prototipler aracılığıyla) bilmeniz gerekir.
C ++ ikili arabirimine bağlı işlevler için, çağırma kuralı ve bağımsız değişkenler işlevin dışa aktarılan adında ("ad yönetimi" olarak da adlandırılır) kodlanır. DUMPBIN /SYMBOLS
hem "karıştırılmış" işlev adını hem de kodu çözülmüş parametre kümesini gösterecektir.
LIB.EXE VS için kütüphanecidir
http://msdn.microsoft.com/en-us/library/7ykb2k5f(VS.80).aspx
(Unix'teki libtool gibi)
1) VS 2017 (veya makinenizde bulunan herhangi bir sürüm) için bir Geliştirici Komut İstemi açın (Başlat menüsü -> Tüm programlar -> Visual Studio 2017 (veya makinenizde bulunan herhangi bir sürüm altında) -> Visual Studio Araçları -> VS 2017 için Geliştirici Komut İstemi.
2) Aşağıdaki komutu girin:
dumpbin /EXPORTS my_lib_name.lib
Diğer yanıtlarda görülebileceği dumpbin.exe
gibi, yürütme yolunuzda olması için Visual Studio sürümünüzde sunulan bir Geliştirici Komut İstemi'ni açmanız gerekir . Aksi takdirde, gerekli ortam değişkenlerini elle ayarlayabilirsiniz.
dumpbin /EXPORTS yourlibrary.lib
genellikle küçük bir sembol listesi gösterir. Çoğu durumda, kütüphanenin dışa aktardığı işlevleri göstermez.
dumpbin /SYMBOLS /EXPORTS yourlibrary.lib
bu sembolleri gösterecek, aynı zamanda inanılmaz derecede büyük miktarda diğer simpoları da gösterecek. Bu nedenle, muhtemelen bir boru ile findstr
(bir MS-Windows aracı istiyorsanız) veya filtrelemeniz gerekir grep
.
Static
Bu araçlardan birini kullanarak anahtar kelimeyi aramak iyi bir ipucu gibi görünüyor.