gcc 옵션에 대해 질문합니다.

구글링에서도 찾아지지 않는데

  1. gcc -fno-asynchronous-unwind-tables -nostdlib -masm=intel
    // -fomit-frame-pointer -S cdecl.c -w -m32 -fno-pic -O0

  2. gcc -fno-asynchronous-unwind-tables -masm=intel -fno-omit-frame-pointer -o sysv sysv.c -fno-pic -O0

에서 옵션에 관한 정보를 알수 있는 사이트가 있을까요??

#시스템_해킹 #배경지식 #호출_규약
작성자 정보
답변 1
코리아
강의 수강: 1

man gcc로 옵션을 볼 수 있습니다. 구글링 할 때 "-" 는 빼고 찾는 것이 좋습니다.

-f-[option] ; 옵션 적용
-fno-[option] ; 옵션을 적용하지 않을 때 사용 한다.
-fno-asynchronous-unwind-tables ; 몇 가지 디버깅 정보를 생성하지 않는 것이 편리합니다. 이 옵션은 디버거 혹은 가비지 콜렉터에서 사용할 수 있는 DWARF 2 형식의 해석 테이블(unwind table)을 만들지 않도록 합니다.
-masm=intel ; intel 방식 입니다.
-nostdlib 옵션 ; 링크 시에 표준 C 라이브러리를 사용하지 않는다.
-fno-omit-frame-pointer ; 함수 호출을 하면, 함수에 전달되는 인자 및 함수 안에서 사용되는 지역 변수들을 위해 stack frame 이라는 것을 형성하게 되는데, 이때 스택의 특정 위치를 가리키게 되는 포인터가 frame pointer 입니다. 이런 작업을 하지 않아도 될 함수들은 frame pointer 를 제거해서 거기에 필요한 연산을 줄이는 옵션입니다
-o sysv ; -o [실행 할 파일명]
-O0 ; 전혀 최적화 하지 말라는, default 옵션입니다

2023.07.25. 21:07
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기