01 .init .plt .plt.got .plt.sec .text .fini 02 .rodata .eh_frame_hdr .eh_frame 03 .init_array .fini_array .dynamic .got .got.plt .data .bss 04 .dynamic 05 .note.gnu.property 06 .note.gnu.build-id 07 .note.gnu.property 08 .eh_frame_hdr 09 10 .init_array .fini_array ....
0000000000003db0 d .init_array 0000000000003db8 d __init_array_end 0000000000003db0 d __init_array_start 0000000000000318 r .interp 0000000000002000 R _IO_stdin_used w _ITM_deregisterTMCloneTable w _ITM_registerTMCloneTable 0000000000001250 T __libc_csu_fini 00000000000011e0 T __libc_csu_init...
段内包含程序以外使用的数据。 %init_array 段包含一个指向init函数的指针数组。(初始化) %fini_array 段包含一个指向finish函数的指针数组。(完成) %preinit_array 段包含一个指向pre-init函数的指针数组。(与初始化) 预定义段 .text、.data、.bss(.sction .text.section_name...) 1.10 .text、.data和.bs...
指定cpp 程序的安装目录为 prefix/dirname --enable-initfini-array 为构造函数和析构函数强制使用 .init_array 和 .fini_array (而不是 .init 和 .fini) 节。一般不需要指定该选项,因为 configure 会自动检测。 --enable-maintainer-mode 要求从源代码重新生成 gcc.pot 文件。该文件是主消息分类,包括编译程序...
.init_array : { PROVIDE_HIDDEN (__init_array_start=.); KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array*)) PROVIDE_HIDDEN (__init_array_end=.); }>FLASH .fini_array : { PROVIDE_HIDDEN (__fini_array_start=.); KEEP (*(SORT(.fini_array.*))) ...
.preinit_array : { PROVIDE_HIDDEN (__preinit_array_start = .); KEEP (*(.preinit_array)) PROVIDE_HIDDEN (__preinit_array_end = .); } .init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) ...
[16] .rodata PROGBITS 00000000004005d0 000005d000000000000000110000000000000000A00422[17] .eh_frame_hdr PROGBITS 00000000004005e4 000005e400000000000000340000000000000000A00423[18] .eh_frame PROGBITS00000000004006180000061800000000000000f40000000000000000A00824[19] .init_array INIT_ARRAY 0000000000600e10 00000e...
程序运行起来之后, 堆区和栈区的变量地址是动态分配的. 可以看出arm-none-linux-gnueabi-gcc编译和gcc编译结果是类似的. #include<stdio.h> #include<stdlib.h> int global_ni; // .bss int global_iz = 0 ; // .bss int global_inz = 1; // .data ...
-Warray-temporaries 创建临时数组时给出警告 -Wassign-intercept 当 Objective-C赋值可能为垃圾回收所介入时给出警告 -Wattributes 当对属性的使用不合适时给出警告 -Wbad-function-cast 当把函数转换为不兼容类型时给出警告 -Wbuiltin-macro-redefined 当内建预处理宏未定义或重定义时给出警告 ...
cleaning up. The arguments are as forbuild_raw_new_expr. This may change PLACEMENT and INIT...