gcc에서 어셈블한 결과를 보는 방법
조회수 6095회
코드가 컴파일 된 결과를 분석하라는 과제를 받았는데 제가 아직 gcc가 익숙하지 않아서 어떤 옵션을 줘야 할지 모르겠어요
gcc로 C/C++의 어셈블리 코드를 보려면 어떻게 해야 되나요?
2 답변
-
-
gcc 에
-S
옵션으로 아래와 같이 어셈블리 코드를 생성할 수 있습니다.-o
옵션을 별도로 주지 않으면 소스코드와 동일한 이름에.s
suffix 를 갖는 파일로 어셈블리 코드를 생성합니다.$ cat hello.c #include <stdio.h> int main(void) { printf("hello dcslab guest ;)\n"); return 0; } $ gcc -S hello.c $ cat hello.s .file "hello.c" .section .rodata .LC0: .string "hello dcslab guest ;)" .text .globl main .type main, @function main: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 movl $.LC0, %edi call puts movl $0, %eax popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE0: .size main, .-main .ident "GCC: (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4" .section .note.GNU-stack,"",@progbits
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력