리눅스 gcc 에서 c언어 컴파일, 32비트 어셈블리 코드 확인하기
c언어를 컴파일 하는 과정에서 어셈블리 코드를 확인하는 과제가 있었는데... 리눅스에서 컴파일했던 기억이 까마득해서 에러때문에 고생좀 했다... 우선 방법은 간단하다. 그냥 .c형식의 c소스코드를 작성해주고, gcc -O1 -S -m32 test.c 이렇게 적어주면 된다. -m32는 32비트 어셈블리를 확인하겠다는거고, -S는 어셈 코드를 보겠다는거고, -O1은 최적화 단계를 설정해주는 거다. 이것도 O이 숫자인줄 알고 계속 하다가 뭔가 생겨먹은게 이상해서 그제야 알아차린거다... 지금 생각해보면 웃기긴한데, 심각하게 왜 안되는지 이리저리 애먹었다... ㅋㅋ 아마 Optimization이라는 뜻인걸까? 특히 c를 컴파일해줄때 bits/libc-header-start.h: No such file or di..