2010-09-07 20 views

cevap

42


--defined-only anahtarı, yalnızca bu dosyalarda tanımlanan ve harici işlevlere başvuruda bulunmayan sembolü gösterir.

Alternatif objdump kullanın ve metin bölümünde sadece semboller yakalamak için

: it.So i birkaç işlevleri bir dinamik kitaplık (lib * .bu dosyası) yarattık

objdump -T /usr/lib/libjpeg.so | grep text 
... 
0001b5c0 g DF .text 00000016 Base  jdiv_round_up 
00003730 g DF .text 00000417 Base  jpeg_set_colorspace 
0000cda0 g DF .text 000002de Base  jpeg_consume_input 
00002b30 g DF .text 00000023 Base  jpeg_abort_compress 
00003b50 g DF .text 000000b6 Base  jpeg_default_colorspace 
00002810 g DF .text 00000067 Base  jpeg_suppress_tables 
00004110 g DF .text 00000130 Base  jpeg_add_quant_table 
000100c0 g DF .text 0000011f Base  jpeg_save_markers 
... 
+2

Bu kabul edilen cevap olmalıdır. –

+0

@Jack Kelly: objdump kullanımı daha kapsamlı görünüyor, ancak OP için fark nedir? –

+1

@Matt Marangoz: Bu cevap ve benimki arasındaki fark, "nm -D - defined-only" referansıdır. nm -D 'tanımlanmamış semboller ve benzeri görüntüler gösterecektir, bu sadece lib'in ne olduğunu tanımlamak istiyorsanız sadece bir gürültüdür. –

13

Sanırım nm -D sizin için ne olduğunu.

$ nm -D /usr/lib/libpng.so 
... 
00000000000058f0 T png_reset_zstream 
000000000000d420 T png_save_int_32 
000000000000d450 T png_save_uint_16 
000000000000d3f0 T png_save_uint_32 
0000000000007810 T png_set_IHDR 
0000000000007500 T png_set_PLTE 
000000000000ce20 T png_set_add_alpha 
0000000000006670 T png_set_asm_flags 
0000000000006970 T png_set_bKGD 
000000000001a740 T png_set_background 
... 
+0

ve ekledi içeriğini görüntüleyebilecek bir komut satırına gereksinim duyarsınız (örn. fonksiyonlar) – Pavitar

4

nm -D komut listeleri ne istediğinizi tam olarak görünüyor paylaşılan kütüphane, dinamik sembolleri. Sembol kitaplığınızı dinamik kitaplığınızdan almak için nm -D --defined-only libname.so kullanın.

İlgili konular