SORU
28 Ocak 2009, ÇARŞAMBA


Teftiş için araçlar .dosyaları lib?

Bazı underdocumented yazılım değerlendiriyorum. Örnek bir proje oluşturduğunuzda, benzer bir linker hata alıyorum:

error LNK2019: unresolved external symbol
Deneme yanılma ile bu sorunu çözmek, böylece bu uygulama ile lib dosyaları bir sürü değil, ama daha çok var biliyorum . ben^>zarifbu sorunu çözmek için. Java dünyasında istiyorumgrep FOO *.jarkavanoz bulmak ve C analog arıyorum. Visual Studio 2005'te bir C kodu ile çalışıyorum. /LİST seçeneği ile lib.exe yardımcı bilgi alabilir miyim şüpheli, ama şimdiye kadar başarısız olmadım. Bu baskılar:
Microsoft (R) Library Manager Version 8.00.50727.762
Copyright (C) Microsoft Corporation.  All rights reserved.

granite50.dll
granite50.dll
granite50.dll
granite50.dll
...

Herhangi bir öneriniz var mı?

CEVAP
28 Ocak 2009, ÇARŞAMBA


İlk baktığın şey tam olarak bilmen gerekir. Bazı kütüphaneler sadece bir DLL (yani, alma kitaplıkları) için bağlantılar içeren ve diğer yürütülebilir görüntü (yani, statik kütüphaneler) bir parçası haline kod nesnelerdir. Çıkış bakılırsa, DLL alma kitaplığı bakıyordun.

İleri doğru aracı kullanmak istiyorsunuz. Lib.exe kütüphanelerden nesne dosyaları ayıklamak için kullanılan ve ne-değil. Bu hemen hemen Java jar programı ile aynıdır. Microsoft kütüphanesinden bilgi dökümü olacak dumpbin.exe sağlar. LarryF zaten bu sözü görüyorum.

İthalat kütüphaneleri için dumpbin.exe -headers foo.lib çalıştırın ve bir çıkış dosyasına yönlendir. Çıktı ilgili DLL ihracatı her sembol için parçacıkları içerir. Hatları arama " Symbol name :" ile başlıyor. Önce iki boşluk olduğunu ve "Sembol ismi ise tam bir isterseniz" maç. sonra not Ayrıca eğer biraz daha hoş bir şey bakmak isterseniz findstr çıkış sembolleri bir listesini oluşturmak ve bir metin dosyasına yeniden yönlendirme için:

dumpbin.exe -headers foo.lib | findstr /c:"  Symbol name  :" > foo-exports.txt

Diğer seçeneği depends.exe ile ilgili DLL açmaktır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • george sarintzotis

    george sarin

    2 Aralık 2007
  • kylediablo

    kylediablo

    8 Ocak 2007