john@john-VirtualBox:~/Work/TBT/BaseLib/CompileAndLinkDemo/chapter07$ readelf -l Lib.so
    Elf file type is DYN (Shared object file)
    Entry point 0x580
    There are 7 program headers, starting at offset 64
    Program Headers:
    Type Offset VirtAddr PhysAddr
    FileSiz MemSiz Flags Align
    LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
    0x000000000000074c 0x000000000000074c R E 0x200000
    LOAD 0x0000000000000e10 0x0000000000200e10 0x0000000000200e10
    0x0000000000000220 0x0000000000000228 RW 0x200000
    DYNAMIC 0x0000000000000e20 0x0000000000200e20 0x0000000000200e20
    0x00000000000001c0 0x00000000000001c0 RW 0x8
    NOTE 0x00000000000001c8 0x00000000000001c8 0x00000000000001c8
    0x0000000000000024 0x0000000000000024 R 0x4
    GNU_EH_FRAME 0x00000000000006ac 0x00000000000006ac 0x00000000000006ac
    0x0000000000000024 0x0000000000000024 R 0x4
    GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
    0x0000000000000000 0x0000000000000000 RW 0x10
    GNU_RELRO 0x0000000000000e10 0x0000000000200e10 0x0000000000200e10
    0x00000000000001f0 0x00000000000001f0 R 0x1
    Section to Segment mapping:
    Segment Sections…
    00 .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .plt.got .text .fini .rodata .eh_frame_hdr .eh_frame
    01 .init_array .fini_array .dynamic .got .got.plt .data .bss
    02 .dynamic
    03 .note.gnu.build-id
    04 .eh_frame_hdr
    05
    06 .init_array .fini_array .dynamic .got
    [1]+ Terminated ./Program1

    image.png

    64位 ubuntu数据

    %comspec% /k “”C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat””
    使用专业命令提示窗口才可以!
    image.png

    image.png

    注意环境差别,这里我们编译的程序版本。

    winnt.h 文件所在目录
    C:\Program Files (x86)\Windows Kits\8.1\Include\um