在}int main(int arg, void *args[]){test();return 0;}编译命令gcc -o test test.c 生成test可执行文件。用readelf -s test命令可以读出test文件里面的各个段的大小。Symbol table '.dynsym' contains 6 entries:Num: Value Size Type Bind Vis Ndx Name0: 00000000 0 NOTYPE LOCAL DEFAULT UND1: 00000000 401 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.0 (2)2: 00000000 391 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.0 (2)3: 0804845c 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used4: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses5: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__Symbol table '.symtab' contains 71 entries:Num: Value Size Type Bind Vis Ndx Name0: 00000000 0 NOTYPE LOCAL DEFAULT UND1: 08048114 0 SECTION LOCAL DEFAULT 12: 08048128 0 SECTION LOCAL DEFAULT 23: 08048148 0 SECTION LOCAL DEFAULT 34: 08048174 0 SECTION LOCAL DEFAULT 45: 080481d4 0 SECTION LOCAL DEFAULT 56: 08048232 0 SECTION LOCAL DEFAULT 67: 08048240 0 SECTION LOCAL DEFAULT 78: 08048260 0 SECTION LOCAL DEFAULT 89: 08048268 0 SECTION LOCAL DEFAULT 910: 08048280 0 SECTION LOCAL DEFAULT 1011: 08048298 0 SECTION LOCAL DEFAULT 1112: 080482d8 0 SECTION LOCAL DEFAULT 1213: 0804843c 0 SECTION LOCAL DEFAULT 1314: 08048458 0 SECTION LOCAL DEFAULT 1415: 08048468 0 SECTION LOCAL DEFAULT 1516: 0804946c 0 SECTION LOCAL DEFAULT 1617: 08049474 0 SECTION LOCAL DEFAULT 1718: 0804947c 0 SECTION LOCAL DEFAULT 1819: 08049480 0 SECTION LOCAL DEFAULT 1920: 08049548 0 SECTION LOCAL DEFAULT 2021: 0804954c 0 SECTION LOCAL DEFAULT 2122: 08049564 0 SECTION LOCAL DEFAULT 2223: 08049570 0 SECTION LOCAL DEFAULT 2324: 00000000 0 SECTION LOCAL DEFAULT 2425: 00000000 0 SECTION LOCAL DEFAULT 2526: 00000000 0 SECTION LOCAL DEFAULT 2627: 00000000 0 SECTION LOCAL DEFAULT 2728: 080482fc 0 FUNC LOCAL DEFAULT 12 call_gmon_start29: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c30: 0804946c 0 OBJECT LOCAL DEFAULT 16 __CTOR_LIST__31: 08049474 0 OBJECT LOCAL DEFAULT 17 __DTOR_LIST__32: 0804947c 0 OBJECT LOCAL DEFAULT 18 __JCR_LIST__33: 08049570 1 OBJECT LOCAL DEFAULT 23 completed.458334: 0804956c 0 OBJECT LOCAL DEFAULT 22 p.458235: 08048320 0 FUNC LOCAL DEFAULT 12 __do_global_dtors_aux36: 08048354 0 FUNC LOCAL DEFAULT 12 frame_dummy37: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c38: 08049470 0 OBJECT LOCAL DEFAULT 16 __CTOR_END__39: 08049478 0 OBJECT LOCAL DEFAULT 17 __DTOR_END__40: 08048468 0 OBJECT LOCAL DEFAULT 15 __FRAME_END__41: 0804947c 0 OBJECT LOCAL DEFAULT 18 __JCR_END__42: 08048414 0 FUNC LOCAL DEFAULT 12 __do_global_ctors_aux43: 00000000 0 FILE LOCAL DEFAULT ABS test.c44: 08049480 0 OBJECT GLOBAL DEFAULT 19 _DYNAMIC45: 08048458 4 OBJECT GLOBAL DEFAULT 14 _fp_hw46: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __fini_array_end47: 08049568 0 OBJECT GLOBAL HIDDEN 22 __dso_handle48: 0804840c 5 FUNC GLOBAL DEFAULT 12 __libc_csu_fini49: 00000000 401 FUNC GLOBAL DEFAULT UND puts@@GLIBC_2.050: 08048280 0 FUNC GLOBAL DEFAULT 10 _init51: 0804837c 24 FUNC GLOBAL DEFAULT 12 test52: 080482d8 0 FUNC GLOBAL DEFAULT 12 _start53: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __fini_array_start54: 080483bc 79 FUNC GLOBAL DEFAULT 12 __libc_csu_init55: 08049570 0 NOTYPE GLOBAL DEFAULT ABS __bss_start56: 08048394 40 FUNC GLOBAL DEFAULT 12 main57: 00000000 391 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_58: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __init_array_end59: 08049564 0 NOTYPE WEAK DEFAULT 22 data_start60: 0804843c 0 FUNC GLOBAL DEFAULT 13 _fini61: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __preinit_array_end62: 08049570 0 NOTYPE GLOBAL DEFAULT ABS _edata63: 0804954c 0 OBJECT GLOBAL HIDDEN 21 _GLOBAL_OFFSET_TABLE_64: 08049574 0 NOTYPE GLOBAL DEFAULT ABS _end65: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __init_array_start66: 0804845c 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used67: 08049564 0 NOTYPE GLOBAL DEFAULT 22 __data_start68: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses69: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __preinit_array_start70: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__其中,51: 0804837c 24 FUNC GLOBAL DEFAULT 12 test这行0804837c就是test()函数的起始地址,24就是test()函数的指令静态存储空间。 相关文章: 2022-12-23 2022-12-23 2022-12-23 2022-12-23 2021-12-05 2022-12-23 2022-12-23 2022-12-23