
1. 컴파일 하기
gcc <컴파일할 파일> 으로 컴파일이 가능하다.
$ gcc main.c
2. 컴파일한 파일 실행하기
컴파일할때 출력 파일명을 지정하지 않을 경우 기본적으로 a.out이라는 파일명으로 파일이 나오게 된다.
실행은 ./실행파일 명으로 실행이 가능하다. ./는 현재폴더내에서의 프로그램을 뜻한다. "./명령" 은 현재의 디렉토리에 있는 "명령" 을 실행하라는 것이다. 환경변수에 추가하면 ./없이 이용이 가능하지만 보안상 좋지 않다.
$ ./a.out
3. 컴파일한 결과 파일 지정
gcc 에서는 -o 옵션을 통해 컴파일 과정에서 만들어지는 실행 파일의 이름을 수정 할 수 있도록 지원한다.
gcc -o <실행파일 이름> <컴파일할 파일>
$ gcc -o main main.c
다음과 같은 방법으로 컴파일 할 파일 여러개를 지정할 수도 있다.
gcc -o <실행파일 이름> <컴파일할 파일> <컴파일할 파일> <컴파일할 파일>
$ gcc -o main main.c main2.c main3.c
4. 목적(Object) 파일 만들기
목적파일은 기계어로 구성된 파일이다. 컴파일러는 다음과 같은 과정을 통해서 컴파일을 진행한다.
전처리기 > 컴파일(어셈블리 소스) > 어셈블(목적 파일 생성) > 링크(실행가능 파일)
이 목적파일은 여러개의 파일이 있을 때 사용하기 유용하다. 위의 3과 같은 역할을 하지만, 변경사항이 없는 소스파일은 따로 변경할 필요가 없어 불필요한 컴파일 과정을 줄일 수 있다. 이와 관련해서는 make가 있다. 추후 설명할 예정이다.
gcc -c main.c
gcc -c main1.c
gcc -c main2.c
gcc -o main main.o fun1.o fun2.o
5. Gcc 다른 옵션
-e : 전처리 과정을 화면에 출력한다.
-s : 어셈블리 파일 생성한다.
-v : 컴파일 과정을 화면에 출력한다.
--save-temps : 컴파일시 생성되는 중간 파일 저장한다.
'Operating System > Linux' 카테고리의 다른 글
Linux Command line 기본 명령어 정리 (0) | 2021.11.29 |
---|