C언어 표준 버전 지정 옵션
C언어 표준에 따라 문법을 검사
경고 수준을 최대로 올려 모든 경고를 출력하는 옵션
소스 코드의 전처리 결과를 확인
최적화 기술을 적용하여 효율적인 어셈블리 코드를 생성
1 2 3 4 5 6 7 8
| gcc -o gcc -o0 gcc -o1 gcc -o2 gcc -o3 gcc -os gcc -ofast gcc -og
|
소스 코드를 어셈블리 코드로 컴파일
어셈블된 어셈블리어 파일(.S 확장자)을 목적 파일로 변환한다.
링크 과정에서 링크는 main 함수를 찾는데, main 함수가 없을 경우 에러를 발생시키지만 이를 방지
symbol table 제거
스택의 경계가 N byte 단위로 증가하도록 설정
1
| gcc -mpreferred-stack-boundary=N
|
스택 보호 기법을 쓰지 않는다.
1
| gcc -fno-stack-protector
|
ASLR 기법이 코드 영역에도 적용되게 해주는 PIE 기술을 적용하지 않음
NX 기법을 해제한다.
정적 컴파일
Author:
Slay
Permalink:
http://sean-baek.github.io/2022/09/20/2022-09-20-gcc-options/
License:
Copyright (c) 2021 CC-BY-NC-4.0 LICENSE
Slogan:
Do you believe in DESTINY?