GCC에서 C니모닉 코드는 어떻게 볼 수 있을까요?


제가 직접 짠 어셈블리랑 GCC가 C에서 변환한 어셈블리랑 비교해서 얼마나 최적화를 잘 해주는지 비교하려고 합니다.

자바에 니모닉으로 기계어를 보는 것처럼 C에서도 그런 기능이 있나요?

  • 2016년 02월 01일에 작성됨

조회수 245


1 답변


좋아요
0
싫어요
채택취소하기

디버그 심볼을 써서 컴파일하면 objdump에서 니모닉을 볼 수 있습니다

>objdump --help
[...]
-S, --source             Intermix source code with disassembly
-l, --line-numbers       Include line numbers and filenames in output

예시 :

> gcc -g -c test.c
> objdump -d -M intel -S test.o

test.o:     file format elf32-i386


Disassembly of section .text:

00000000 <main>:
#include <stdio.h>

int main(void)
{
   0:   55                      push   ebp
   1:   89 e5                   mov    ebp,esp
   3:   83 e4 f0                and    esp,0xfffffff0
   6:   83 ec 10                sub    esp,0x10
    puts("test");
   9:   c7 04 24 00 00 00 00    mov    DWORD PTR [esp],0x0
  10:   e8 fc ff ff ff          call   11 <main+0x11>

    return 0;
  15:   b8 00 00 00 00          mov    eax,0x0
}
  1a:   c9                      leave  
  1b:   c3                      ret
  • 2016년 02월 01일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close