C언어 표준 버전 지정 옵션

1
2
# C언어 표준 버전 지정 옵션
gcc -std=c11

C언어 표준에 따라 문법을 검사

1
2
# C언어 표준에 따라 문법을 검사
gcc -pedantic

경고 수준을 최대로 올려 모든 경고를 출력하는 옵션

1
2
# 경고 수준을 최대로 올려 모든 경고를 출력하는 옵션
gcc -Wall

소스 코드의 전처리 결과를 확인

1
gcc -E

최적화 기술을 적용하여 효율적인 어셈블리 코드를 생성

1
2
3
4
5
6
7
8
gcc -o
gcc -o0
gcc -o1
gcc -o2
gcc -o3
gcc -os
gcc -ofast
gcc -og

소스 코드를 어셈블리 코드로 컴파일

1
gcc -S

어셈블된 어셈블리어 파일(.S 확장자)을 목적 파일로 변환한다.

1
gcc -C

링크 과정에서 링크는 main 함수를 찾는데, main 함수가 없을 경우 에러를 발생시키지만 이를 방지

1
gcc -unresolved-symbols

symbol table 제거

1
gcc -s

스택의 경계가 N byte 단위로 증가하도록 설정

1
gcc -mpreferred-stack-boundary=N

스택 보호 기법을 쓰지 않는다.

1
gcc -fno-stack-protector

ASLR 기법이 코드 영역에도 적용되게 해주는 PIE 기술을 적용하지 않음

1
gcc -no-pie

NX 기법을 해제한다.

1
gcc -zexecstack

정적 컴파일

1
gcc -static