C/C++程序编译成可执行程序步骤图文源码详解

一个C++程序被编译为目标程序的过程中经历了四个部分,分别是预处理、编译、汇编、链接。

下面将通过一个简单的C++代码分别执行预处理、编译、汇编、链接四个步骤后的结果和基本原理讲解。

注意:博主是在ubuntu20.0下编译和运行,g++版本是9.3.0

C/C++程序编译成可执行程序步骤图文源码详解_第1张图片

一、一个简单的C++代码

下面是一段简单的C++代码

C/C++程序编译成可执行程序步骤图文源码详解_第2张图片

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;
}

1.1预处理

预处理主要对Test1.cpp、main.cpp和相关的头文件进行预编译成一个Test1.ii、main.ii文件。该步骤主要操作是对一些宏进行替换以及一些#include包含的头文件进行替换。下面是在ubuntu20.0下通过g++ -E命令生成预处理后的文件(注意:一般c++预处理后文件格式为*.ii,C语言是*.i)

g++ -E main.cpp -o main.ii

C/C++程序编译成可执行程序步骤图文源码详解_第3张图片

  文件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文件中。

1.1.1预处理阶段功能总结

预编译过程主要处理那些源代码文件中的以“#”开始的预编译指令。比如“#include”、“#define”等,处理规则如下:

  • 将所有的“#define”删除,并且展开所有的宏定义
  • 处理所有条件预编译指令,比如“#if”、“#ifdef”、“#elif”、“#else”、“#endif”
  • 处理“#include”预编译指令,将被包含的文件插入到该预编译指令的位置。注意,这个过程是递归进行的,也就是说被包含的文件可能还包含其它文件
  • 删除所有的注释“//”和“/* */”
  • 添加行号和文件名标识,比如:“  # 1 "Test1.h" 1  ”,以便编译时编译器产生调试用的行号信息及用于编译时产生编译错误或警告时能够显示行号
  • 保留所有的#pragma编译器指令,因为编译器需要使用它们

1.2编译

编译就是对预处理完后的文件进行一系列词法分析、语法分析、语义分析及优化后生成相关的汇编代码文件。

一般将预处理和汇编合并成一个步骤,linux下使用一个cc1plus来完成这两个步骤。

C/C++程序编译成可执行程序步骤图文源码详解_第4张图片

 下面是用编译生成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:

1.2.1编译总结

由上面main.s和Test1.s两个汇编代码文件可知,编译阶段生成的是汇编代码文件。g++本质上只是后台程序的包装,根据不同参数(-E、-S、-c)要求调用预处理编译程序cc1plus、汇编器as、连接器ld。

1.3汇编

汇编器将汇编代码转化为机器可以识别和执行的指令(二进制代码),每条汇编语句几乎都对应一条机器指令。

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

1.3.1汇编总结

由汇编文件main.o和Test1.o文件可知,汇编器将汇编代码main.s和Test1.s生成目标文件main.o和Test1.o。目标文件main.o里面调用的类Test1::getVar()代码还没有跟实际的物理地址关联起来,暂时用0000 0000替代,故需要链接器链接后,才能跟实际成员方法地址关联。

1.3.2编译和汇编总结

1.2.1编译总结

编译一般分为6个步骤:扫描、语法分析、语义分析、源代码优化、代码生成、目标代码优化

  • 词法分析:首先将源代码输入扫描器,运用一种类似有限状态机算法将字符分割成一系列记号(Token),比如(var, +, 5, 10),用lex程序可以实现词法扫描
  • 语法分析:语法分析器将扫描器产生的记号生成语法树进行分析。语法树的非叶子节点一般是各种运算符或者括号,确定性的数字常量作为叶子节点。可以用工具yacc(Yet Another Compiler Compiler)对输入的标识生成语法树。
  • 语义分析:语义分析对语法树的表达式有效性进行分析,分为静态语义和动态语义;静态语义包括声明和类型匹配,动态语义是在运行期进行分析,通过语义分析语法树每个节点都标识了具体类型比如int
  • 中间语言生成:编译器会对初始的源码进行优化,比如父节点+,叶子节点8和2,即表达式8+2会会优化为一个节点10;常见的中间代码有三地址码(x = y op z)和P-代码
  • 目标代码生成与优化:生成的目标代码*.o的成员变量和方法是没有确定的,只有在链接阶段才会确定具体的物理地址;由于不同的机器生成的目标代码不同,所以优化十分复杂

1.4链接

链接器将所有目标文件main.o、Test1.o和库通过一定逻辑组织拼接成可执行程序main。

下面是链接生成可执行程序main的命令:

g++ Test1.o main.o -o main

C/C++程序编译成可执行程序步骤图文源码详解_第5张图片

 可执行程序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

你可能感兴趣的:(C++应用积累,Linux积累,c++,编译,链接,生成,可执行程序)