gcc -o는 빌드 출력 을 출력 파일에 씁니다 .
gcc -O는 컴파일러의 최적화 수준을 설정합니다 .
빌드 출력을 출력 파일에 씁니다.
$ gcc [options] [source files] [object files] -o output file
myfile.c:
// myfile.c
#include <stdio.h/
void main()
{
printf("Program run\n");
}
터미널에 myfile.c 를 빌드 하고 출력 파일 myfile을 실행합니다 .
$ gcc myfile.c -o myfile
$ ./myfile
Program run
$
컴파일러의 최적화 수준을 설정합니다.
선택권 | 최적화 수준 | 실행 시간 | 코드 크기 | 메모리 사용량 | 컴파일 시간 |
---|---|---|---|---|---|
-O0 | 컴파일 시간 최적화 (기본값) | + | + | - | - |
-O1 또는 -O | 코드 크기 및 실행 시간 최적화 | - | - | + | + |
-O2 | 코드 크기 및 실행 시간에 대한 최적화 | - | + | ++ | |
-O3 | 코드 크기 및 실행 시간에 대한 최적화 | --- | + | +++ | |
-Os | 코드 크기 최적화 | - | ++ | ||
-Ofast | 빠르고 정확한 수학 계산이없는 O3 | --- | + | +++ |
+ 증가 ++ 더 증가 +++ 더 증가-감소-더 감소 --- 더 감소
$ gcc -Olevel [options] [source files] [object files] [-o output file]
myfile.c:
// myfile.c
#include <stdio.h/
void main()
{
printf("Program run\n");
}
터미널에 myfile.c 를 빌드 하고 출력 파일 myfile을 실행합니다 .
$ gcc -O myfile.c -o myfile
$ ./myfile
Program run
$