다음 어셈블리 코드에서 링커가 printf 심볼을 처리하는 방법을 알고 싶었습니다.링커에서 어셈블리 코드의 심볼을 확인하는 방법
#include<stdio.h>
void main()
{
printf("Hello ");
}
.file "test.c"
.def ___main; .scl 2; .type 32; .endef
.section .rdata,"dr"
LC0:
.ascii "Hello \0"
.text
.globl _main
.def _main; .scl 2; .type 32; .endef
_main:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
andl $-16, %esp
movl $0, %eax
addl $15, %eax
addl $15, %eax
shrl $4, %eax
sall $4, %eax
movl %eax, -4(%ebp)
movl -4(%ebp), %eax
call __alloca
call ___main
movl $LC0, (%esp)
**call _printf**
leave
ret
.def **_printf**; .scl 3; .type 32; .endef
낮은 수준 설명 비트를 높이 평가할 것입니다.
미리 감사드립니다.
큰 질문에 충분히 질문하지 않아서 너무 많은 "해결되지 않은 기호"질문에 이르게합니다! – xtofl