看板 C_and_CPP 關於我們 聯絡資訊
static void sf(void) { } static void ssff(void) __attribute__ ((section ("data"))); static void ssff(void) { } 放在哪一個 section 可以自己決定, 上面的程式用 gcc 轉成下面的 組合語言。 sf 放在 .text ssff 放在 data (section data,"ax",@progbits)OA .file "sc.c" .text .type sf, @function sf: .LFB0: .cfi_startproc pushl %ebp .cfi_def_cfa_offset 8 .cfi_offset 5, -8 movl %esp, %ebp .cfi_def_cfa_register 5 popl %ebp .cfi_def_cfa 4, 4 .cfi_restore 5 ret .cfi_endproc .LFE0: .size sf, .-sf .section data,"ax",@progbits .type ssff, @function ssff: .LFB1: .cfi_startproc pushl %ebp .cfi_def_cfa_offset 8 .cfi_offset 5, -8 movl %esp, %ebp .cfi_def_cfa_register 5 popl %ebp .cfi_def_cfa 4, 4 .cfi_restore 5 ret .cfi_endproc .LFE1: .size ssff, .-ssff .ident "GCC: (Debian 4.6.3-1) 4.6.3" .section .note.GNU-stack,"",@progbits ※ 引述《singlovesong (~"~)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : G++ : 1. : 請問static function 是否放在記憶體中的data section? : 若是這樣 請問它的recursive call 是在data section上面recursive嗎... : 再順便請問一下 把上面 static function 改成static method(class method) : 後 同樣的問題請教 : 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.184.189.124