一个C++程序被编译为目标程序的过程中经历了四个部分,分别是预处理、编译、汇编、链接。
下面将通过一个简单的C++代码分别执行预处理、编译、汇编、链接四个步骤后的结果和基本原理讲解。
注意:博主是在ubuntu20.0下编译和运行,g++版本是9.3.0
下面是一段简单的C++代码
Test1.h
#ifndef TEST1_H_
#define TEST1_H_
struct Test1
{
Test1();
int getVar() const;
private:
int var;
};
#endif /* TEST1_H_ */
Test1.cpp
#include "Test1.h"
Test1::Test1()
: var(100)
{
}
int Test1::getVar() const
{
return var;
}
main.cpp
#include "Test1.h"
int main() {
Test1{}.getVar();
return 0;
}
预处理主要对Test1.cpp、main.cpp和相关的头文件进行预编译成一个Test1.ii、main.ii文件。该步骤主要操作是对一些宏进行替换以及一些#include包含的头文件进行替换。下面是在ubuntu20.0下通过g++ -E命令生成预处理后的文件(注意:一般c++预处理后文件格式为*.ii,C语言是*.i)
g++ -E main.cpp -o main.ii
文件main.ii
# 1 "main.cpp"
# 1 ""
# 1 ""
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "" 2
# 1 "main.cpp"
# 1 "Test1.h" 1
struct Test1
{
Test1();
int getVar() const;
private:
int var;
};
# 2 "main.cpp" 2
int main() {
Test1{}.getVar();
return 0;
}
g++ -E Test1.cpp -o Test1.ii
文件Test1.ii
# 1 "Test1.cpp"
# 1 ""
# 1 ""
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "" 2
# 1 "Test1.cpp"
# 1 "Test1.h" 1
struct Test1
{
Test1();
int getVar() const;
private:
int var;
};
# 2 "Test1.cpp" 2
Test1::Test1()
: var(100)
{
}
int Test1::getVar() const
{
return var;
}
由上面的Test1.ii和main.ii两个文件可以看出,进过预处理后*.ii文件不包含任何宏定义,因为所有宏已经被展开,并且包含的文件也已经被插入到main.ii文件中。
预编译过程主要处理那些源代码文件中的以“#”开始的预编译指令。比如“#include”、“#define”等,处理规则如下:
编译就是对预处理完后的文件进行一系列词法分析、语法分析、语义分析及优化后生成相关的汇编代码文件。
一般将预处理和汇编合并成一个步骤,linux下使用一个cc1plus来完成这两个步骤。
下面是用编译生成main.s文件命令
g++ -S main.ii -o main.s
main.s
.file "main.cpp"
.text
.globl main
.type main, @function
main:
.LFB0:
.cfi_startproc
endbr64
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %fs:40, %rax
movq %rax, -8(%rbp)
xorl %eax, %eax
leaq -12(%rbp), %rax
movq %rax, %rdi
call _ZN5Test1C1Ev@PLT
leaq -12(%rbp), %rax
movq %rax, %rdi
call _ZNK5Test16getVarEv@PLT
movl $0, %eax
movq -8(%rbp), %rdx
xorq %fs:40, %rdx
je .L3
call __stack_chk_fail@PLT
.L3:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE0:
.size main, .-main
.ident "GCC: (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0"
.section .note.GNU-stack,"",@progbits
.section .note.gnu.property,"a"
.align 8
.long 1f - 0f
.long 4f - 1f
.long 5
0:
.string "GNU"
1:
.align 8
.long 0xc0000002
.long 3f - 2f
2:
.long 0x3
3:
.align 8
4:
Test1.s
g++ -S Test1.ii -o Test1.s
.file "Test1.cpp"
.text
.align 2
.globl _ZN5Test1C2Ev
.type _ZN5Test1C2Ev, @function
_ZN5Test1C2Ev:
.LFB1:
.cfi_startproc
endbr64
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
movl $100, (%rax)
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE1:
.size _ZN5Test1C2Ev, .-_ZN5Test1C2Ev
.globl _ZN5Test1C1Ev
.set _ZN5Test1C1Ev,_ZN5Test1C2Ev
.align 2
.globl _ZNK5Test16getVarEv
.type _ZNK5Test16getVarEv, @function
_ZNK5Test16getVarEv:
.LFB3:
.cfi_startproc
endbr64
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
movl (%rax), %eax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE3:
.size _ZNK5Test16getVarEv, .-_ZNK5Test16getVarEv
.ident "GCC: (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0"
.section .note.GNU-stack,"",@progbits
.section .note.gnu.property,"a"
.align 8
.long 1f - 0f
.long 4f - 1f
.long 5
0:
.string "GNU"
1:
.align 8
.long 0xc0000002
.long 3f - 2f
2:
.long 0x3
3:
.align 8
4:
由上面main.s和Test1.s两个汇编代码文件可知,编译阶段生成的是汇编代码文件。g++本质上只是后台程序的包装,根据不同参数(-E、-S、-c)要求调用预处理编译程序cc1plus、汇编器as、连接器ld。
汇编器将汇编代码转化为机器可以识别和执行的指令(二进制代码),每条汇编语句几乎都对应一条机器指令。
main.o的16进制代码分析可参考这篇博客:小湿妹问沃什么是可执行程序?(全网最简洁,必看,错过后悔终生!!!)
下面是生成目标文件main.o指令
g++ -c main.s -o main.o
#或者下面命令as
# $as main.s -o main.o
main.o文件
tjq@ubuntu:~/eclipse-workspace/Test1/src$ hexdump main.o -C
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 01 00 3e 00 01 00 00 00 00 00 00 00 00 00 00 00 |..>.............|
00000020 00 00 00 00 00 00 00 00 e0 02 00 00 00 00 00 00 |................|
00000030 00 00 00 00 40 00 00 00 00 00 40 00 0c 00 0b 00 |....@.....@.....|
00000040 55 48 89 e5 48 83 ec 10 48 8d 45 fc 48 89 c7 e8 |UH..H...H.E.H...|
00000050 00 00 00 00 48 8d 45 fc 48 89 c7 e8 00 00 00 00 |....H.E.H.......|
00000060 b8 00 00 00 00 c9 c3 00 47 43 43 3a 20 28 55 62 |........GCC: (Ub|
00000070 75 6e 74 75 20 39 2e 33 2e 30 2d 31 37 75 62 75 |untu 9.3.0-17ubu|
00000080 6e 74 75 31 7e 32 30 2e 30 34 29 20 39 2e 33 2e |ntu1~20.04) 9.3.|
00000090 30 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 |0...............|
000000a0 01 7a 52 00 01 78 10 01 1b 0c 07 08 90 01 00 00 |.zR..x..........|
000000b0 1c 00 00 00 1c 00 00 00 00 00 00 00 27 00 00 00 |............'...|
000000c0 00 41 0e 10 86 02 43 0d 06 62 0c 07 08 00 00 00 |.A....C..b......|
000000d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000e0 00 00 00 00 00 00 00 00 01 00 00 00 04 00 f1 ff |................|
000000f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000100 00 00 00 00 03 00 01 00 00 00 00 00 00 00 00 00 |................|
00000110 00 00 00 00 00 00 00 00 00 00 00 00 03 00 03 00 |................|
00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000130 00 00 00 00 03 00 04 00 00 00 00 00 00 00 00 00 |................|
00000140 00 00 00 00 00 00 00 00 00 00 00 00 03 00 06 00 |................|
00000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000160 00 00 00 00 03 00 07 00 00 00 00 00 00 00 00 00 |................|
00000170 00 00 00 00 00 00 00 00 00 00 00 00 03 00 05 00 |................|
00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000190 0a 00 00 00 12 00 01 00 00 00 00 00 00 00 00 00 |................|
000001a0 27 00 00 00 00 00 00 00 0f 00 00 00 10 00 00 00 |'...............|
000001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001c0 25 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 |%...............|
000001d0 00 00 00 00 00 00 00 00 33 00 00 00 10 00 00 00 |........3.......|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001f0 00 6d 61 69 6e 2e 63 70 70 00 6d 61 69 6e 00 5f |.main.cpp.main._|
00000200 47 4c 4f 42 41 4c 5f 4f 46 46 53 45 54 5f 54 41 |GLOBAL_OFFSET_TA|
00000210 42 4c 45 5f 00 5f 5a 4e 35 54 65 73 74 31 43 31 |BLE_._ZN5Test1C1|
00000220 45 76 00 5f 5a 4e 4b 35 54 65 73 74 31 36 67 65 |Ev._ZNK5Test16ge|
00000230 74 56 61 72 45 76 00 00 10 00 00 00 00 00 00 00 |tVarEv..........|
00000240 04 00 00 00 0a 00 00 00 fc ff ff ff ff ff ff ff |................|
00000250 1c 00 00 00 00 00 00 00 04 00 00 00 0b 00 00 00 |................|
00000260 fc ff ff ff ff ff ff ff 20 00 00 00 00 00 00 00 |........ .......|
00000270 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 |................|
00000280 00 2e 73 79 6d 74 61 62 00 2e 73 74 72 74 61 62 |..symtab..strtab|
00000290 00 2e 73 68 73 74 72 74 61 62 00 2e 72 65 6c 61 |..shstrtab..rela|
000002a0 2e 74 65 78 74 00 2e 64 61 74 61 00 2e 62 73 73 |.text..data..bss|
000002b0 00 2e 63 6f 6d 6d 65 6e 74 00 2e 6e 6f 74 65 2e |..comment..note.|
000002c0 47 4e 55 2d 73 74 61 63 6b 00 2e 72 65 6c 61 2e |GNU-stack..rela.|
000002d0 65 68 5f 66 72 61 6d 65 00 00 00 00 00 00 00 00 |eh_frame........|
000002e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000320 20 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 | ...............|
00000330 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |........@.......|
00000340 27 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |'...............|
00000350 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000360 1b 00 00 00 04 00 00 00 40 00 00 00 00 00 00 00 |........@.......|
00000370 00 00 00 00 00 00 00 00 38 02 00 00 00 00 00 00 |........8.......|
00000380 30 00 00 00 00 00 00 00 09 00 00 00 01 00 00 00 |0...............|
00000390 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................|
000003a0 26 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 |&...............|
000003b0 00 00 00 00 00 00 00 00 67 00 00 00 00 00 00 00 |........g.......|
000003c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000003d0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000003e0 2c 00 00 00 08 00 00 00 03 00 00 00 00 00 00 00 |,...............|
000003f0 00 00 00 00 00 00 00 00 67 00 00 00 00 00 00 00 |........g.......|
00000400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000410 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000420 31 00 00 00 01 00 00 00 30 00 00 00 00 00 00 00 |1.......0.......|
00000430 00 00 00 00 00 00 00 00 67 00 00 00 00 00 00 00 |........g.......|
00000440 2b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |+...............|
00000450 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................|
00000460 3a 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 |:...............|
00000470 00 00 00 00 00 00 00 00 92 00 00 00 00 00 00 00 |................|
00000480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000490 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000004a0 4f 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 |O...............|
000004b0 00 00 00 00 00 00 00 00 98 00 00 00 00 00 00 00 |................|
000004c0 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |8...............|
000004d0 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000004e0 4a 00 00 00 04 00 00 00 40 00 00 00 00 00 00 00 |J.......@.......|
000004f0 00 00 00 00 00 00 00 00 68 02 00 00 00 00 00 00 |........h.......|
00000500 18 00 00 00 00 00 00 00 09 00 00 00 07 00 00 00 |................|
00000510 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................|
00000520 01 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 |................|
00000530 00 00 00 00 00 00 00 00 d0 00 00 00 00 00 00 00 |................|
00000540 20 01 00 00 00 00 00 00 0a 00 00 00 08 00 00 00 | ...............|
00000550 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................|
00000560 09 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 |................|
00000570 00 00 00 00 00 00 00 00 f0 01 00 00 00 00 00 00 |................|
00000580 47 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |G...............|
00000590 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000005a0 11 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 |................|
000005b0 00 00 00 00 00 00 00 00 80 02 00 00 00 00 00 00 |................|
000005c0 59 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |Y...............|
000005d0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000005e0
下面是生成目标文件Test1.o指令
g++ -c Test1.s -o Test1.o
Test1.o文件
tjq@ubuntu:~/eclipse-workspace/Test1/src$ hexdump Test1.o -C
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 01 00 3e 00 01 00 00 00 00 00 00 00 00 00 00 00 |..>.............|
00000020 00 00 00 00 00 00 00 00 10 03 00 00 00 00 00 00 |................|
00000030 00 00 00 00 40 00 00 00 00 00 40 00 0c 00 0b 00 |....@.....@.....|
00000040 f3 0f 1e fa 55 48 89 e5 48 89 7d f8 48 8b 45 f8 |....UH..H.}.H.E.|
00000050 c7 00 64 00 00 00 90 5d c3 90 f3 0f 1e fa 55 48 |..d....]......UH|
00000060 89 e5 48 89 7d f8 48 8b 45 f8 8b 00 5d c3 00 47 |..H.}.H.E...]..G|
00000070 43 43 3a 20 28 55 62 75 6e 74 75 20 39 2e 33 2e |CC: (Ubuntu 9.3.|
00000080 30 2d 31 37 75 62 75 6e 74 75 31 7e 32 30 2e 30 |0-17ubuntu1~20.0|
00000090 34 29 20 39 2e 33 2e 30 00 00 00 00 00 00 00 00 |4) 9.3.0........|
000000a0 04 00 00 00 10 00 00 00 05 00 00 00 47 4e 55 00 |............GNU.|
000000b0 02 00 00 c0 04 00 00 00 03 00 00 00 00 00 00 00 |................|
000000c0 14 00 00 00 00 00 00 00 01 7a 52 00 01 78 10 01 |.........zR..x..|
000000d0 1b 0c 07 08 90 01 00 00 1c 00 00 00 1c 00 00 00 |................|
000000e0 00 00 00 00 19 00 00 00 00 45 0e 10 86 02 43 0d |.........E....C.|
000000f0 06 50 0c 07 08 00 00 00 1c 00 00 00 3c 00 00 00 |.P..........<...|
00000100 00 00 00 00 14 00 00 00 00 45 0e 10 86 02 43 0d |.........E....C.|
00000110 06 4b 0c 07 08 00 00 00 00 00 00 00 00 00 00 00 |.K..............|
00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000130 01 00 00 00 04 00 f1 ff 00 00 00 00 00 00 00 00 |................|
00000140 00 00 00 00 00 00 00 00 00 00 00 00 03 00 01 00 |................|
00000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000160 00 00 00 00 03 00 02 00 00 00 00 00 00 00 00 00 |................|
00000170 00 00 00 00 00 00 00 00 00 00 00 00 03 00 03 00 |................|
00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000190 00 00 00 00 03 00 05 00 00 00 00 00 00 00 00 00 |................|
000001a0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 06 00 |................|
000001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001c0 00 00 00 00 03 00 07 00 00 00 00 00 00 00 00 00 |................|
000001d0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 04 00 |................|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001f0 0b 00 00 00 12 00 01 00 00 00 00 00 00 00 00 00 |................|
00000200 19 00 00 00 00 00 00 00 19 00 00 00 12 00 01 00 |................|
00000210 00 00 00 00 00 00 00 00 19 00 00 00 00 00 00 00 |................|
00000220 27 00 00 00 12 00 01 00 1a 00 00 00 00 00 00 00 |'...............|
00000230 14 00 00 00 00 00 00 00 00 54 65 73 74 31 2e 63 |.........Test1.c|
00000240 70 70 00 5f 5a 4e 35 54 65 73 74 31 43 32 45 76 |pp._ZN5Test1C2Ev|
00000250 00 5f 5a 4e 35 54 65 73 74 31 43 31 45 76 00 5f |._ZN5Test1C1Ev._|
00000260 5a 4e 4b 35 54 65 73 74 31 36 67 65 74 56 61 72 |ZNK5Test16getVar|
00000270 45 76 00 00 00 00 00 00 20 00 00 00 00 00 00 00 |Ev...... .......|
00000280 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 |................|
00000290 40 00 00 00 00 00 00 00 02 00 00 00 02 00 00 00 |@...............|
000002a0 1a 00 00 00 00 00 00 00 00 2e 73 79 6d 74 61 62 |..........symtab|
000002b0 00 2e 73 74 72 74 61 62 00 2e 73 68 73 74 72 74 |..strtab..shstrt|
000002c0 61 62 00 2e 74 65 78 74 00 2e 64 61 74 61 00 2e |ab..text..data..|
000002d0 62 73 73 00 2e 63 6f 6d 6d 65 6e 74 00 2e 6e 6f |bss..comment..no|
000002e0 74 65 2e 47 4e 55 2d 73 74 61 63 6b 00 2e 6e 6f |te.GNU-stack..no|
000002f0 74 65 2e 67 6e 75 2e 70 72 6f 70 65 72 74 79 00 |te.gnu.property.|
00000300 2e 72 65 6c 61 2e 65 68 5f 66 72 61 6d 65 00 00 |.rela.eh_frame..|
00000310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000350 1b 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 |................|
00000360 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |........@.......|
00000370 2e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000380 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000390 21 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 |!...............|
000003a0 00 00 00 00 00 00 00 00 6e 00 00 00 00 00 00 00 |........n.......|
000003b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000003c0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000003d0 27 00 00 00 08 00 00 00 03 00 00 00 00 00 00 00 |'...............|
000003e0 00 00 00 00 00 00 00 00 6e 00 00 00 00 00 00 00 |........n.......|
000003f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000400 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000410 2c 00 00 00 01 00 00 00 30 00 00 00 00 00 00 00 |,.......0.......|
00000420 00 00 00 00 00 00 00 00 6e 00 00 00 00 00 00 00 |........n.......|
00000430 2b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |+...............|
00000440 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................|
00000450 35 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 |5...............|
00000460 00 00 00 00 00 00 00 00 99 00 00 00 00 00 00 00 |................|
00000470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000480 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000490 45 00 00 00 07 00 00 00 02 00 00 00 00 00 00 00 |E...............|
000004a0 00 00 00 00 00 00 00 00 a0 00 00 00 00 00 00 00 |................|
000004b0 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...............|
000004c0 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000004d0 5d 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 |]...............|
000004e0 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 |................|
000004f0 58 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |X...............|
00000500 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000510 58 00 00 00 04 00 00 00 40 00 00 00 00 00 00 00 |X.......@.......|
00000520 00 00 00 00 00 00 00 00 78 02 00 00 00 00 00 00 |........x.......|
00000530 30 00 00 00 00 00 00 00 09 00 00 00 07 00 00 00 |0...............|
00000540 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................|
00000550 01 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 |................|
00000560 00 00 00 00 00 00 00 00 18 01 00 00 00 00 00 00 |................|
00000570 20 01 00 00 00 00 00 00 0a 00 00 00 09 00 00 00 | ...............|
00000580 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................|
00000590 09 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 |................|
000005a0 00 00 00 00 00 00 00 00 38 02 00 00 00 00 00 00 |........8.......|
000005b0 3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |;...............|
000005c0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000005d0 11 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 |................|
000005e0 00 00 00 00 00 00 00 00 a8 02 00 00 00 00 00 00 |................|
000005f0 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |g...............|
00000600 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000610
由汇编文件main.o和Test1.o文件可知,汇编器将汇编代码main.s和Test1.s生成目标文件main.o和Test1.o。目标文件main.o里面调用的类Test1::getVar()代码还没有跟实际的物理地址关联起来,暂时用0000 0000替代,故需要链接器链接后,才能跟实际成员方法地址关联。
编译一般分为6个步骤:扫描、语法分析、语义分析、源代码优化、代码生成、目标代码优化
链接器将所有目标文件main.o、Test1.o和库通过一定逻辑组织拼接成可执行程序main。
下面是链接生成可执行程序main的命令:
g++ Test1.o main.o -o main
可执行程序main代码如下:
tjq@ubuntu:~/eclipse-workspace/Test1/src$ hexdump main -C
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 03 00 3e 00 01 00 00 00 40 10 00 00 00 00 00 00 |..>.....@.......|
00000020 40 00 00 00 00 00 00 00 80 39 00 00 00 00 00 00 |@........9......|
00000030 00 00 00 00 40 00 38 00 0b 00 40 00 1c 00 1b 00 |[email protected]...@.....|
00000040 06 00 00 00 04 00 00 00 40 00 00 00 00 00 00 00 |........@.......|
00000050 40 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |@.......@.......|
00000060 68 02 00 00 00 00 00 00 68 02 00 00 00 00 00 00 |h.......h.......|
00000070 08 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00 |................|
00000080 a8 02 00 00 00 00 00 00 a8 02 00 00 00 00 00 00 |................|
00000090 a8 02 00 00 00 00 00 00 1c 00 00 00 00 00 00 00 |................|
000000a0 1c 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................|
000000b0 01 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 |................|
000000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000d0 30 05 00 00 00 00 00 00 30 05 00 00 00 00 00 00 |0.......0.......|
000000e0 00 10 00 00 00 00 00 00 01 00 00 00 05 00 00 00 |................|
000000f0 00 10 00 00 00 00 00 00 00 10 00 00 00 00 00 00 |................|
00000100 00 10 00 00 00 00 00 00 05 02 00 00 00 00 00 00 |................|
00000110 05 02 00 00 00 00 00 00 00 10 00 00 00 00 00 00 |................|
00000120 01 00 00 00 04 00 00 00 00 20 00 00 00 00 00 00 |......... ......|
00000130 00 20 00 00 00 00 00 00 00 20 00 00 00 00 00 00 |. ....... ......|
00000140 80 01 00 00 00 00 00 00 80 01 00 00 00 00 00 00 |................|
00000150 00 10 00 00 00 00 00 00 01 00 00 00 06 00 00 00 |................|
00000160 f0 2d 00 00 00 00 00 00 f0 3d 00 00 00 00 00 00 |.-.......=......|
00000170 f0 3d 00 00 00 00 00 00 20 02 00 00 00 00 00 00 |.=...... .......|
00000180 28 02 00 00 00 00 00 00 00 10 00 00 00 00 00 00 |(...............|
00000190 02 00 00 00 06 00 00 00 00 2e 00 00 00 00 00 00 |................|
000001a0 00 3e 00 00 00 00 00 00 00 3e 00 00 00 00 00 00 |.>.......>......|
000001b0 c0 01 00 00 00 00 00 00 c0 01 00 00 00 00 00 00 |................|
000001c0 08 00 00 00 00 00 00 00 04 00 00 00 04 00 00 00 |................|
000001d0 c4 02 00 00 00 00 00 00 c4 02 00 00 00 00 00 00 |................|
000001e0 c4 02 00 00 00 00 00 00 44 00 00 00 00 00 00 00 |........D.......|
000001f0 44 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 |D...............|
00000200 50 e5 74 64 04 00 00 00 04 20 00 00 00 00 00 00 |P.td..... ......|
00000210 04 20 00 00 00 00 00 00 04 20 00 00 00 00 00 00 |. ....... ......|
00000220 4c 00 00 00 00 00 00 00 4c 00 00 00 00 00 00 00 |L.......L.......|
00000230 04 00 00 00 00 00 00 00 51 e5 74 64 06 00 00 00 |........Q.td....|
00000240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000260 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 |................|
00000270 52 e5 74 64 04 00 00 00 f0 2d 00 00 00 00 00 00 |R.td.....-......|
00000280 f0 3d 00 00 00 00 00 00 f0 3d 00 00 00 00 00 00 |.=.......=......|
00000290 10 02 00 00 00 00 00 00 10 02 00 00 00 00 00 00 |................|
000002a0 01 00 00 00 00 00 00 00 2f 6c 69 62 36 34 2f 6c |......../lib64/l|
000002b0 64 2d 6c 69 6e 75 78 2d 78 38 36 2d 36 34 2e 73 |d-linux-x86-64.s|
000002c0 6f 2e 32 00 04 00 00 00 14 00 00 00 03 00 00 00 |o.2.............|
000002d0 47 4e 55 00 50 cf 6e 94 31 9f ea 7c d5 ad 9d a4 |GNU.P.n.1..|....|
000002e0 19 a7 1a 9b cb 5a 64 13 04 00 00 00 10 00 00 00 |.....Zd.........|
000002f0 01 00 00 00 47 4e 55 00 00 00 00 00 03 00 00 00 |....GNU.........|
00000300 02 00 00 00 00 00 00 00 02 00 00 00 05 00 00 00 |................|
00000310 01 00 00 00 06 00 00 00 00 00 81 00 00 00 00 00 |................|
00000320 05 00 00 00 00 00 00 00 d1 65 ce 6d 00 00 00 00 |.........e.m....|
00000330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000340 00 00 00 00 00 00 00 00 38 00 00 00 20 00 00 00 |........8... ...|
00000350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000360 1a 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 |................|
00000370 00 00 00 00 00 00 00 00 54 00 00 00 20 00 00 00 |........T... ...|
00000380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000390 63 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 |c... ...........|
000003a0 00 00 00 00 00 00 00 00 0b 00 00 00 22 00 00 00 |............"...|
000003b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000003c0 00 6c 69 62 63 2e 73 6f 2e 36 00 5f 5f 63 78 61 |.libc.so.6.__cxa|
000003d0 5f 66 69 6e 61 6c 69 7a 65 00 5f 5f 6c 69 62 63 |_finalize.__libc|
000003e0 5f 73 74 61 72 74 5f 6d 61 69 6e 00 47 4c 49 42 |_start_main.GLIB|
000003f0 43 5f 32 2e 32 2e 35 00 5f 49 54 4d 5f 64 65 72 |C_2.2.5._ITM_der|
00000400 65 67 69 73 74 65 72 54 4d 43 6c 6f 6e 65 54 61 |egisterTMCloneTa|
00000410 62 6c 65 00 5f 5f 67 6d 6f 6e 5f 73 74 61 72 74 |ble.__gmon_start|
00000420 5f 5f 00 5f 49 54 4d 5f 72 65 67 69 73 74 65 72 |__._ITM_register|
00000430 54 4d 43 6c 6f 6e 65 54 61 62 6c 65 00 00 00 00 |TMCloneTable....|
00000440 00 00 02 00 00 00 00 00 02 00 00 00 00 00 00 00 |................|
00000450 01 00 01 00 01 00 00 00 10 00 00 00 00 00 00 00 |................|
00000460 75 1a 69 09 00 00 02 00 2c 00 00 00 00 00 00 00 |u.i.....,.......|
00000470 f0 3d 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |.=..............|
00000480 20 11 00 00 00 00 00 00 f8 3d 00 00 00 00 00 00 | ........=......|
00000490 08 00 00 00 00 00 00 00 e0 10 00 00 00 00 00 00 |................|
000004a0 08 40 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |.@..............|
000004b0 08 40 00 00 00 00 00 00 d8 3f 00 00 00 00 00 00 |.@.......?......|
000004c0 06 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 |................|
000004d0 e0 3f 00 00 00 00 00 00 06 00 00 00 02 00 00 00 |.?..............|
000004e0 00 00 00 00 00 00 00 00 e8 3f 00 00 00 00 00 00 |.........?......|
000004f0 06 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 |................|
00000500 f0 3f 00 00 00 00 00 00 06 00 00 00 04 00 00 00 |.?..............|
00000510 00 00 00 00 00 00 00 00 f8 3f 00 00 00 00 00 00 |.........?......|
00000520 06 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 |................|
00000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00001000 f3 0f 1e fa 48 83 ec 08 48 8b 05 d9 2f 00 00 48 |....H...H.../..H|
00001010 85 c0 74 02 ff d0 48 83 c4 08 c3 00 00 00 00 00 |..t...H.........|
00001020 ff 35 a2 2f 00 00 ff 25 a4 2f 00 00 0f 1f 40 00 |.5./...%./....@.|
00001030 ff 25 c2 2f 00 00 66 90 00 00 00 00 00 00 00 00 |.%./..f.........|
00001040 f3 0f 1e fa 31 ed 49 89 d1 5e 48 89 e2 48 83 e4 |....1.I..^H..H..|
00001050 f0 50 54 4c 8d 05 96 01 00 00 48 8d 0d 1f 01 00 |.PTL......H.....|
00001060 00 48 8d 3d f0 00 00 00 ff 15 72 2f 00 00 f4 90 |.H.=......r/....|
00001070 48 8d 3d 99 2f 00 00 48 8d 05 92 2f 00 00 48 39 |H.=./..H.../..H9|
00001080 f8 74 15 48 8b 05 4e 2f 00 00 48 85 c0 74 09 ff |.t.H..N/..H..t..|
00001090 e0 0f 1f 80 00 00 00 00 c3 0f 1f 80 00 00 00 00 |................|
000010a0 48 8d 3d 69 2f 00 00 48 8d 35 62 2f 00 00 48 29 |H.=i/..H.5b/..H)|
000010b0 fe 48 89 f0 48 c1 ee 3f 48 c1 f8 03 48 01 c6 48 |.H..H..?H...H..H|
000010c0 d1 fe 74 14 48 8b 05 25 2f 00 00 48 85 c0 74 08 |..t.H..%/..H..t.|
000010d0 ff e0 66 0f 1f 44 00 00 c3 0f 1f 80 00 00 00 00 |..f..D..........|
000010e0 f3 0f 1e fa 80 3d 25 2f 00 00 00 75 2b 55 48 83 |.....=%/...u+UH.|
000010f0 3d 02 2f 00 00 00 48 89 e5 74 0c 48 8b 3d 06 2f |=./...H..t.H.=./|
00001100 00 00 e8 29 ff ff ff e8 64 ff ff ff c6 05 fd 2e |...)....d.......|
00001110 00 00 01 5d c3 0f 1f 00 c3 0f 1f 80 00 00 00 00 |...]............|
00001120 f3 0f 1e fa e9 77 ff ff ff 90 f3 0f 1e fa 55 48 |.....w........UH|
00001130 89 e5 48 89 7d f8 48 8b 45 f8 c7 00 64 00 00 00 |..H.}.H.E...d...|
00001140 90 5d c3 90 f3 0f 1e fa 55 48 89 e5 48 89 7d f8 |.]......UH..H.}.|
00001150 48 8b 45 f8 8b 00 5d c3 55 48 89 e5 48 83 ec 10 |H.E...].UH..H...|
00001160 48 8d 45 fc 48 89 c7 e8 be ff ff ff 48 8d 45 fc |H.E.H.......H.E.|
00001170 48 89 c7 e8 cc ff ff ff b8 00 00 00 00 c9 c3 90 |H...............|
00001180 f3 0f 1e fa 41 57 4c 8d 3d 63 2c 00 00 41 56 49 |....AWL.=c,..AVI|
00001190 89 d6 41 55 49 89 f5 41 54 41 89 fc 55 48 8d 2d |..AUI..ATA..UH.-|
000011a0 54 2c 00 00 53 4c 29 fd 48 83 ec 08 e8 4f fe ff |T,..SL).H....O..|
000011b0 ff 48 c1 fd 03 74 1f 31 db 0f 1f 80 00 00 00 00 |.H...t.1........|
000011c0 4c 89 f2 4c 89 ee 44 89 e7 41 ff 14 df 48 83 c3 |L..L..D..A...H..|
000011d0 01 48 39 dd 75 ea 48 83 c4 08 5b 5d 41 5c 41 5d |.H9.u.H...[]A\A]|
000011e0 41 5e 41 5f c3 66 66 2e 0f 1f 84 00 00 00 00 00 |A^A_.ff.........|
000011f0 f3 0f 1e fa c3 00 00 00 f3 0f 1e fa 48 83 ec 08 |............H...|
00001200 48 83 c4 08 c3 00 00 00 00 00 00 00 00 00 00 00 |H...............|
00001210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00002000 01 00 02 00 01 1b 03 3b 48 00 00 00 08 00 00 00 |.......;H.......|
00002010 1c f0 ff ff 7c 00 00 00 2c f0 ff ff a4 00 00 00 |....|...,.......|
00002020 3c f0 ff ff 64 00 00 00 26 f1 ff ff bc 00 00 00 |<...d...&.......|
00002030 40 f1 ff ff dc 00 00 00 54 f1 ff ff fc 00 00 00 |@.......T.......|
00002040 7c f1 ff ff 1c 01 00 00 ec f1 ff ff 64 01 00 00 ||...........d...|
00002050 14 00 00 00 00 00 00 00 01 7a 52 00 01 78 10 01 |.........zR..x..|
00002060 1b 0c 07 08 90 01 00 00 14 00 00 00 1c 00 00 00 |................|
00002070 d0 ef ff ff 2f 00 00 00 00 44 07 10 00 00 00 00 |..../....D......|
00002080 24 00 00 00 34 00 00 00 98 ef ff ff 10 00 00 00 |$...4...........|
00002090 00 0e 10 46 0e 18 4a 0f 0b 77 08 80 00 3f 1a 3b |...F..J..w...?.;|
000020a0 2a 33 24 22 00 00 00 00 14 00 00 00 5c 00 00 00 |*3$"........\...|
000020b0 80 ef ff ff 08 00 00 00 00 00 00 00 00 00 00 00 |................|
000020c0 1c 00 00 00 74 00 00 00 62 f0 ff ff 19 00 00 00 |....t...b.......|
000020d0 00 45 0e 10 86 02 43 0d 06 50 0c 07 08 00 00 00 |.E....C..P......|
000020e0 1c 00 00 00 94 00 00 00 5c f0 ff ff 14 00 00 00 |........\.......|
000020f0 00 45 0e 10 86 02 43 0d 06 4b 0c 07 08 00 00 00 |.E....C..K......|
00002100 1c 00 00 00 b4 00 00 00 50 f0 ff ff 27 00 00 00 |........P...'...|
00002110 00 41 0e 10 86 02 43 0d 06 62 0c 07 08 00 00 00 |.A....C..b......|
00002120 44 00 00 00 d4 00 00 00 58 f0 ff ff 65 00 00 00 |D.......X...e...|
00002130 00 46 0e 10 8f 02 49 0e 18 8e 03 45 0e 20 8d 04 |.F....I....E. ..|
00002140 45 0e 28 8c 05 44 0e 30 86 06 48 0e 38 83 07 47 |E.(..D.0..H.8..G|
00002150 0e 40 6e 0e 38 41 0e 30 41 0e 28 42 0e 20 42 0e |[email protected].(B. B.|
00002160 18 42 0e 10 42 0e 08 00 10 00 00 00 1c 01 00 00 |.B..B...........|
00002170 80 f0 ff ff 05 00 00 00 00 00 00 00 00 00 00 00 |................|
00002180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00002df0 20 11 00 00 00 00 00 00 e0 10 00 00 00 00 00 00 | ...............|
00002e00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................|
00002e10 0c 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 |................|
00002e20 0d 00 00 00 00 00 00 00 f8 11 00 00 00 00 00 00 |................|
00002e30 19 00 00 00 00 00 00 00 f0 3d 00 00 00 00 00 00 |.........=......|
00002e40 1b 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................|
00002e50 1a 00 00 00 00 00 00 00 f8 3d 00 00 00 00 00 00 |.........=......|
00002e60 1c 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................|
00002e70 f5 fe ff 6f 00 00 00 00 08 03 00 00 00 00 00 00 |...o............|
00002e80 05 00 00 00 00 00 00 00 c0 03 00 00 00 00 00 00 |................|
00002e90 06 00 00 00 00 00 00 00 30 03 00 00 00 00 00 00 |........0.......|
00002ea0 0a 00 00 00 00 00 00 00 7d 00 00 00 00 00 00 00 |........}.......|
00002eb0 0b 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................|
00002ec0 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00002ed0 03 00 00 00 00 00 00 00 c0 3f 00 00 00 00 00 00 |.........?......|
00002ee0 07 00 00 00 00 00 00 00 70 04 00 00 00 00 00 00 |........p.......|
00002ef0 08 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 |................|
00002f00 09 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................|
00002f10 1e 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................|
00002f20 fb ff ff 6f 00 00 00 00 01 00 00 08 00 00 00 00 |...o............|
00002f30 fe ff ff 6f 00 00 00 00 50 04 00 00 00 00 00 00 |...o....P.......|
00002f40 ff ff ff 6f 00 00 00 00 01 00 00 00 00 00 00 00 |...o............|
00002f50 f0 ff ff 6f 00 00 00 00 3e 04 00 00 00 00 00 00 |...o....>.......|
00002f60 f9 ff ff 6f 00 00 00 00 03 00 00 00 00 00 00 00 |...o............|
00002f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00002fc0 00 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.>..............|
00002fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00003000 00 00 00 00 00 00 00 00 08 40 00 00 00 00 00 00 |.........@......|
00003010 47 43 43 3a 20 28 55 62 75 6e 74 75 20 39 2e 33 |GCC: (Ubuntu 9.3|
00003020 2e 30 2d 31 37 75 62 75 6e 74 75 31 7e 32 30 2e |.0-17ubuntu1~20.|
00003030 30 34 29 20 39 2e 33 2e 30 00 00 00 00 00 00 00 |04) 9.3.0.......|
00003040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003050 00 00 00 00 00 00 00 00 00 00 00 00 03 00 01 00 |................|
00003060 a8 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003070 00 00 00 00 03 00 02 00 c4 02 00 00 00 00 00 00 |................|
00003080 00 00 00 00 00 00 00 00 00 00 00 00 03 00 03 00 |................|
00003090 e8 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000030a0 00 00 00 00 03 00 04 00 08 03 00 00 00 00 00 00 |................|
000030b0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 05 00 |................|
000030c0 30 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |0...............|
000030d0 00 00 00 00 03 00 06 00 c0 03 00 00 00 00 00 00 |................|
000030e0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 07 00 |................|
000030f0 3e 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |>...............|
00003100 00 00 00 00 03 00 08 00 50 04 00 00 00 00 00 00 |........P.......|
00003110 00 00 00 00 00 00 00 00 00 00 00 00 03 00 09 00 |................|
00003120 70 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |p...............|
00003130 00 00 00 00 03 00 0a 00 00 10 00 00 00 00 00 00 |................|
00003140 00 00 00 00 00 00 00 00 00 00 00 00 03 00 0b 00 |................|
00003150 20 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...............|
00003160 00 00 00 00 03 00 0c 00 30 10 00 00 00 00 00 00 |........0.......|
00003170 00 00 00 00 00 00 00 00 00 00 00 00 03 00 0d 00 |................|
00003180 40 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |@...............|
00003190 00 00 00 00 03 00 0e 00 f8 11 00 00 00 00 00 00 |................|
000031a0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 0f 00 |................|
000031b0 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |. ..............|
000031c0 00 00 00 00 03 00 10 00 04 20 00 00 00 00 00 00 |......... ......|
000031d0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 11 00 |................|
000031e0 50 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |P ..............|
000031f0 00 00 00 00 03 00 12 00 f0 3d 00 00 00 00 00 00 |.........=......|
00003200 00 00 00 00 00 00 00 00 00 00 00 00 03 00 13 00 |................|
00003210 f8 3d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.=..............|
00003220 00 00 00 00 03 00 14 00 00 3e 00 00 00 00 00 00 |.........>......|
00003230 00 00 00 00 00 00 00 00 00 00 00 00 03 00 15 00 |................|
00003240 c0 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.?..............|
00003250 00 00 00 00 03 00 16 00 00 40 00 00 00 00 00 00 |.........@......|
00003260 00 00 00 00 00 00 00 00 00 00 00 00 03 00 17 00 |................|
00003270 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.@..............|
00003280 00 00 00 00 03 00 18 00 00 00 00 00 00 00 00 00 |................|
00003290 00 00 00 00 00 00 00 00 01 00 00 00 04 00 f1 ff |................|
000032a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000032b0 0c 00 00 00 02 00 0d 00 70 10 00 00 00 00 00 00 |........p.......|
000032c0 00 00 00 00 00 00 00 00 0e 00 00 00 02 00 0d 00 |................|
000032d0 a0 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000032e0 21 00 00 00 02 00 0d 00 e0 10 00 00 00 00 00 00 |!...............|
000032f0 00 00 00 00 00 00 00 00 37 00 00 00 01 00 17 00 |........7.......|
00003300 10 40 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |.@..............|
00003310 46 00 00 00 01 00 13 00 f8 3d 00 00 00 00 00 00 |F........=......|
00003320 00 00 00 00 00 00 00 00 6d 00 00 00 02 00 0d 00 |........m.......|
00003330 20 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...............|
00003340 79 00 00 00 01 00 12 00 f0 3d 00 00 00 00 00 00 |y........=......|
00003350 00 00 00 00 00 00 00 00 98 00 00 00 04 00 f1 ff |................|
00003360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003370 a2 00 00 00 04 00 f1 ff 00 00 00 00 00 00 00 00 |................|
00003380 00 00 00 00 00 00 00 00 01 00 00 00 04 00 f1 ff |................|
00003390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000033a0 ab 00 00 00 01 00 11 00 7c 21 00 00 00 00 00 00 |........|!......|
000033b0 00 00 00 00 00 00 00 00 00 00 00 00 04 00 f1 ff |................|
000033c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000033d0 b9 00 00 00 00 00 12 00 f8 3d 00 00 00 00 00 00 |.........=......|
000033e0 00 00 00 00 00 00 00 00 ca 00 00 00 01 00 14 00 |................|
000033f0 00 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.>..............|
00003400 d3 00 00 00 00 00 12 00 f0 3d 00 00 00 00 00 00 |.........=......|
00003410 00 00 00 00 00 00 00 00 e6 00 00 00 00 00 10 00 |................|
00003420 04 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |. ..............|
00003430 f9 00 00 00 01 00 15 00 c0 3f 00 00 00 00 00 00 |.........?......|
00003440 00 00 00 00 00 00 00 00 b1 01 00 00 02 00 0a 00 |................|
00003450 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003460 0f 01 00 00 12 00 0d 00 f0 11 00 00 00 00 00 00 |................|
00003470 05 00 00 00 00 00 00 00 1f 01 00 00 20 00 00 00 |............ ...|
00003480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003490 71 01 00 00 20 00 16 00 00 40 00 00 00 00 00 00 |q... ....@......|
000034a0 00 00 00 00 00 00 00 00 3b 01 00 00 10 00 16 00 |........;.......|
000034b0 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.@..............|
000034c0 19 01 00 00 12 02 0e 00 f8 11 00 00 00 00 00 00 |................|
000034d0 00 00 00 00 00 00 00 00 42 01 00 00 12 00 0d 00 |........B.......|
000034e0 2a 11 00 00 00 00 00 00 19 00 00 00 00 00 00 00 |*...............|
000034f0 50 01 00 00 12 00 00 00 00 00 00 00 00 00 00 00 |P...............|
00003500 00 00 00 00 00 00 00 00 6f 01 00 00 10 00 16 00 |........o.......|
00003510 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.@..............|
00003520 7c 01 00 00 20 00 00 00 00 00 00 00 00 00 00 00 ||... ...........|
00003530 00 00 00 00 00 00 00 00 8b 01 00 00 11 02 16 00 |................|
00003540 08 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.@..............|
00003550 98 01 00 00 11 00 0f 00 00 20 00 00 00 00 00 00 |......... ......|
00003560 04 00 00 00 00 00 00 00 a7 01 00 00 12 00 0d 00 |................|
00003570 80 11 00 00 00 00 00 00 65 00 00 00 00 00 00 00 |........e.......|
00003580 b7 01 00 00 12 00 0d 00 44 11 00 00 00 00 00 00 |........D.......|
00003590 14 00 00 00 00 00 00 00 c5 00 00 00 10 00 17 00 |................|
000035a0 18 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.@..............|
000035b0 75 01 00 00 12 00 0d 00 40 10 00 00 00 00 00 00 |u.......@.......|
000035c0 2f 00 00 00 00 00 00 00 cb 01 00 00 10 00 17 00 |/...............|
000035d0 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.@..............|
000035e0 d7 01 00 00 12 00 0d 00 2a 11 00 00 00 00 00 00 |........*.......|
000035f0 19 00 00 00 00 00 00 00 e5 01 00 00 12 00 0d 00 |................|
00003600 58 11 00 00 00 00 00 00 27 00 00 00 00 00 00 00 |X.......'.......|
00003610 ea 01 00 00 11 02 16 00 10 40 00 00 00 00 00 00 |.........@......|
00003620 00 00 00 00 00 00 00 00 f6 01 00 00 20 00 00 00 |............ ...|
00003630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003640 10 02 00 00 22 00 00 00 00 00 00 00 00 00 00 00 |...."...........|
00003650 00 00 00 00 00 00 00 00 00 63 72 74 73 74 75 66 |.........crtstuf|
00003660 66 2e 63 00 64 65 72 65 67 69 73 74 65 72 5f 74 |f.c.deregister_t|
00003670 6d 5f 63 6c 6f 6e 65 73 00 5f 5f 64 6f 5f 67 6c |m_clones.__do_gl|
00003680 6f 62 61 6c 5f 64 74 6f 72 73 5f 61 75 78 00 63 |obal_dtors_aux.c|
00003690 6f 6d 70 6c 65 74 65 64 2e 38 30 36 30 00 5f 5f |ompleted.8060.__|
000036a0 64 6f 5f 67 6c 6f 62 61 6c 5f 64 74 6f 72 73 5f |do_global_dtors_|
000036b0 61 75 78 5f 66 69 6e 69 5f 61 72 72 61 79 5f 65 |aux_fini_array_e|
000036c0 6e 74 72 79 00 66 72 61 6d 65 5f 64 75 6d 6d 79 |ntry.frame_dummy|
000036d0 00 5f 5f 66 72 61 6d 65 5f 64 75 6d 6d 79 5f 69 |.__frame_dummy_i|
000036e0 6e 69 74 5f 61 72 72 61 79 5f 65 6e 74 72 79 00 |nit_array_entry.|
000036f0 54 65 73 74 31 2e 63 70 70 00 6d 61 69 6e 2e 63 |Test1.cpp.main.c|
00003700 70 70 00 5f 5f 46 52 41 4d 45 5f 45 4e 44 5f 5f |pp.__FRAME_END__|
00003710 00 5f 5f 69 6e 69 74 5f 61 72 72 61 79 5f 65 6e |.__init_array_en|
00003720 64 00 5f 44 59 4e 41 4d 49 43 00 5f 5f 69 6e 69 |d._DYNAMIC.__ini|
00003730 74 5f 61 72 72 61 79 5f 73 74 61 72 74 00 5f 5f |t_array_start.__|
00003740 47 4e 55 5f 45 48 5f 46 52 41 4d 45 5f 48 44 52 |GNU_EH_FRAME_HDR|
00003750 00 5f 47 4c 4f 42 41 4c 5f 4f 46 46 53 45 54 5f |._GLOBAL_OFFSET_|
00003760 54 41 42 4c 45 5f 00 5f 5f 6c 69 62 63 5f 63 73 |TABLE_.__libc_cs|
00003770 75 5f 66 69 6e 69 00 5f 49 54 4d 5f 64 65 72 65 |u_fini._ITM_dere|
00003780 67 69 73 74 65 72 54 4d 43 6c 6f 6e 65 54 61 62 |gisterTMCloneTab|
00003790 6c 65 00 5f 65 64 61 74 61 00 5f 5a 4e 35 54 65 |le._edata._ZN5Te|
000037a0 73 74 31 43 32 45 76 00 5f 5f 6c 69 62 63 5f 73 |st1C2Ev.__libc_s|
000037b0 74 61 72 74 5f 6d 61 69 6e 40 40 47 4c 49 42 43 |tart_main@@GLIBC|
000037c0 5f 32 2e 32 2e 35 00 5f 5f 64 61 74 61 5f 73 74 |_2.2.5.__data_st|
000037d0 61 72 74 00 5f 5f 67 6d 6f 6e 5f 73 74 61 72 74 |art.__gmon_start|
000037e0 5f 5f 00 5f 5f 64 73 6f 5f 68 61 6e 64 6c 65 00 |__.__dso_handle.|
000037f0 5f 49 4f 5f 73 74 64 69 6e 5f 75 73 65 64 00 5f |_IO_stdin_used._|
00003800 5f 6c 69 62 63 5f 63 73 75 5f 69 6e 69 74 00 5f |_libc_csu_init._|
00003810 5a 4e 4b 35 54 65 73 74 31 36 67 65 74 56 61 72 |ZNK5Test16getVar|
00003820 45 76 00 5f 5f 62 73 73 5f 73 74 61 72 74 00 5f |Ev.__bss_start._|
00003830 5a 4e 35 54 65 73 74 31 43 31 45 76 00 6d 61 69 |ZN5Test1C1Ev.mai|
00003840 6e 00 5f 5f 54 4d 43 5f 45 4e 44 5f 5f 00 5f 49 |n.__TMC_END__._I|
00003850 54 4d 5f 72 65 67 69 73 74 65 72 54 4d 43 6c 6f |TM_registerTMClo|
00003860 6e 65 54 61 62 6c 65 00 5f 5f 63 78 61 5f 66 69 |neTable.__cxa_fi|
00003870 6e 61 6c 69 7a 65 40 40 47 4c 49 42 43 5f 32 2e |nalize@@GLIBC_2.|
00003880 32 2e 35 00 00 2e 73 79 6d 74 61 62 00 2e 73 74 |2.5...symtab..st|
00003890 72 74 61 62 00 2e 73 68 73 74 72 74 61 62 00 2e |rtab..shstrtab..|
000038a0 69 6e 74 65 72 70 00 2e 6e 6f 74 65 2e 67 6e 75 |interp..note.gnu|
000038b0 2e 62 75 69 6c 64 2d 69 64 00 2e 6e 6f 74 65 2e |.build-id..note.|
000038c0 41 42 49 2d 74 61 67 00 2e 67 6e 75 2e 68 61 73 |ABI-tag..gnu.has|
000038d0 68 00 2e 64 79 6e 73 79 6d 00 2e 64 79 6e 73 74 |h..dynsym..dynst|
000038e0 72 00 2e 67 6e 75 2e 76 65 72 73 69 6f 6e 00 2e |r..gnu.version..|
000038f0 67 6e 75 2e 76 65 72 73 69 6f 6e 5f 72 00 2e 72 |gnu.version_r..r|
00003900 65 6c 61 2e 64 79 6e 00 2e 69 6e 69 74 00 2e 70 |ela.dyn..init..p|
00003910 6c 74 00 2e 70 6c 74 2e 67 6f 74 00 2e 74 65 78 |lt..plt.got..tex|
00003920 74 00 2e 66 69 6e 69 00 2e 72 6f 64 61 74 61 00 |t..fini..rodata.|
00003930 2e 65 68 5f 66 72 61 6d 65 5f 68 64 72 00 2e 65 |.eh_frame_hdr..e|
00003940 68 5f 66 72 61 6d 65 00 2e 69 6e 69 74 5f 61 72 |h_frame..init_ar|
00003950 72 61 79 00 2e 66 69 6e 69 5f 61 72 72 61 79 00 |ray..fini_array.|
00003960 2e 64 79 6e 61 6d 69 63 00 2e 64 61 74 61 00 2e |.dynamic..data..|
00003970 62 73 73 00 2e 63 6f 6d 6d 65 6e 74 00 00 00 00 |bss..comment....|
00003980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000039c0 1b 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 |................|
000039d0 a8 02 00 00 00 00 00 00 a8 02 00 00 00 00 00 00 |................|
000039e0 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000039f0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003a00 23 00 00 00 07 00 00 00 02 00 00 00 00 00 00 00 |#...............|
00003a10 c4 02 00 00 00 00 00 00 c4 02 00 00 00 00 00 00 |................|
00003a20 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |$...............|
00003a30 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003a40 36 00 00 00 07 00 00 00 02 00 00 00 00 00 00 00 |6...............|
00003a50 e8 02 00 00 00 00 00 00 e8 02 00 00 00 00 00 00 |................|
00003a60 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...............|
00003a70 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003a80 44 00 00 00 f6 ff ff 6f 02 00 00 00 00 00 00 00 |D......o........|
00003a90 08 03 00 00 00 00 00 00 08 03 00 00 00 00 00 00 |................|
00003aa0 24 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 |$...............|
00003ab0 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003ac0 4e 00 00 00 0b 00 00 00 02 00 00 00 00 00 00 00 |N...............|
00003ad0 30 03 00 00 00 00 00 00 30 03 00 00 00 00 00 00 |0.......0.......|
00003ae0 90 00 00 00 00 00 00 00 06 00 00 00 01 00 00 00 |................|
00003af0 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................|
00003b00 56 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 |V...............|
00003b10 c0 03 00 00 00 00 00 00 c0 03 00 00 00 00 00 00 |................|
00003b20 7d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |}...............|
00003b30 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003b40 5e 00 00 00 ff ff ff 6f 02 00 00 00 00 00 00 00 |^......o........|
00003b50 3e 04 00 00 00 00 00 00 3e 04 00 00 00 00 00 00 |>.......>.......|
00003b60 0c 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 |................|
00003b70 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 |................|
00003b80 6b 00 00 00 fe ff ff 6f 02 00 00 00 00 00 00 00 |k......o........|
00003b90 50 04 00 00 00 00 00 00 50 04 00 00 00 00 00 00 |P.......P.......|
00003ba0 20 00 00 00 00 00 00 00 06 00 00 00 01 00 00 00 | ...............|
00003bb0 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003bc0 7a 00 00 00 04 00 00 00 02 00 00 00 00 00 00 00 |z...............|
00003bd0 70 04 00 00 00 00 00 00 70 04 00 00 00 00 00 00 |p.......p.......|
00003be0 c0 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 |................|
00003bf0 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................|
00003c00 84 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 |................|
00003c10 00 10 00 00 00 00 00 00 00 10 00 00 00 00 00 00 |................|
00003c20 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003c30 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003c40 8a 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 |................|
00003c50 20 10 00 00 00 00 00 00 20 10 00 00 00 00 00 00 | ....... .......|
00003c60 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003c70 10 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 |................|
00003c80 8f 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 |................|
00003c90 30 10 00 00 00 00 00 00 30 10 00 00 00 00 00 00 |0.......0.......|
00003ca0 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003cb0 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................|
00003cc0 98 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 |................|
00003cd0 40 10 00 00 00 00 00 00 40 10 00 00 00 00 00 00 |@.......@.......|
00003ce0 b5 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003cf0 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003d00 9e 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 |................|
00003d10 f8 11 00 00 00 00 00 00 f8 11 00 00 00 00 00 00 |................|
00003d20 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003d30 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003d40 a4 00 00 00 01 00 00 00 12 00 00 00 00 00 00 00 |................|
00003d50 00 20 00 00 00 00 00 00 00 20 00 00 00 00 00 00 |. ....... ......|
00003d60 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003d70 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 |................|
00003d80 ac 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 |................|
00003d90 04 20 00 00 00 00 00 00 04 20 00 00 00 00 00 00 |. ....... ......|
00003da0 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |L...............|
00003db0 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003dc0 ba 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 |................|
00003dd0 50 20 00 00 00 00 00 00 50 20 00 00 00 00 00 00 |P ......P ......|
00003de0 30 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |0...............|
00003df0 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003e00 c4 00 00 00 0e 00 00 00 03 00 00 00 00 00 00 00 |................|
00003e10 f0 3d 00 00 00 00 00 00 f0 2d 00 00 00 00 00 00 |.=.......-......|
00003e20 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003e30 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................|
00003e40 d0 00 00 00 0f 00 00 00 03 00 00 00 00 00 00 00 |................|
00003e50 f8 3d 00 00 00 00 00 00 f8 2d 00 00 00 00 00 00 |.=.......-......|
00003e60 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003e70 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................|
00003e80 dc 00 00 00 06 00 00 00 03 00 00 00 00 00 00 00 |................|
00003e90 00 3e 00 00 00 00 00 00 00 2e 00 00 00 00 00 00 |.>..............|
00003ea0 c0 01 00 00 00 00 00 00 06 00 00 00 00 00 00 00 |................|
00003eb0 08 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 |................|
00003ec0 93 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 |................|
00003ed0 c0 3f 00 00 00 00 00 00 c0 2f 00 00 00 00 00 00 |.?......./......|
00003ee0 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |@...............|
00003ef0 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................|
00003f00 e5 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 |................|
00003f10 00 40 00 00 00 00 00 00 00 30 00 00 00 00 00 00 |[email protected]......|
00003f20 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003f30 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003f40 eb 00 00 00 08 00 00 00 03 00 00 00 00 00 00 00 |................|
00003f50 10 40 00 00 00 00 00 00 10 30 00 00 00 00 00 00 |[email protected]......|
00003f60 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003f70 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00003f80 f0 00 00 00 01 00 00 00 30 00 00 00 00 00 00 00 |........0.......|
00003f90 00 00 00 00 00 00 00 00 10 30 00 00 00 00 00 00 |.........0......|
00003fa0 2a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |*...............|
00003fb0 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................|
00003fc0 01 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 |................|
00003fd0 00 00 00 00 00 00 00 00 40 30 00 00 00 00 00 00 |........@0......|
00003fe0 18 06 00 00 00 00 00 00 1a 00 00 00 2c 00 00 00 |............,...|
00003ff0 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................|
00004000 09 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 |................|
00004010 00 00 00 00 00 00 00 00 58 36 00 00 00 00 00 00 |........X6......|
00004020 2c 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |,...............|
00004030 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00004040 11 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 |................|
00004050 00 00 00 00 00 00 00 00 84 38 00 00 00 00 00 00 |.........8......|
00004060 f9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00004070 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00004080
《程序员的自我修养——编译、装载与库》俞甲子 石凡 潘爱民 著, 电子工业出版社, page:37-58