Linux 如何显示C/C+中包含的头文件和src文件的名称+;共享库
对于C/C++共享库(.so文件),如何检查其中包含的所有头和源的名称 我尝试使用-g选项编译共享库,并使用Linux 如何显示C/C+中包含的头文件和src文件的名称+;共享库,linux,shared-libraries,Linux,Shared Libraries,对于C/C++共享库(.so文件),如何检查其中包含的所有头和源的名称 我尝试使用-g选项编译共享库,并使用readelf-Wl,但我只能得到如下结果: Elf文件类型为DYN(共享对象文件) 入口点0x560 共有7个程序头,从偏移量64开始 程序标题: 键入Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align 加载0x0000000x0000000000 0x0000000000 0x0000000000000000 0x000754 0x000
readelf-Wl
,但我只能得到如下结果:
Elf文件类型为DYN(共享对象文件)
入口点0x560
共有7个程序头,从偏移量64开始
程序标题:
键入Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
加载0x0000000x0000000000 0x0000000000 0x0000000000000000 0x000754 0x000754 R E 0x200000
加载0x000e70 0x00000000000200E70 0x00000000000200E70 0x0001b0 0x0001b8 RW 0x200000
动态0x000e88 0x00000000000200E88 0x00000000000200E88 0x000150 0x000150 RW 0x8
注释0x0001c8 0x00000000000001c8 0x00000000000001c8 0x000024 0x000024 R 0x4
GNU_EH_帧0x0006a8 0x00000000000006a8 0x00000000000006a8 0x000024 0x000024 R 0x4
GNU_堆栈0x0000000x0000000000000000 0x0000000000 0x0000000000 0x000000 0x000000 0x000000 RW 0x10
GNU_RELRO 0x000e70 0x000000000200E70 0x000000000200E70 0x000190 0x000190 R 0x1
节到段映射:
分段段。。。
00.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.init.plt.plt.got.text.fini.eh_frame\u hdr.eh_frame
01.init_array.fini_array.jcr.dynamic.get.get.plt.data.bss
02.动态
03.note.gnu.build-id
04.eh_帧_hdr
05
06.init_数组.fini_数组.jcr.dynamic.got
您的.so甚至不一定包含这些信息,除非它是用“-G”显式编译的 建议:
-
objdump-g
objdump-W file.elf
-
readelf-WS./a.out | egrep'\(stab | debug)