Linux/리눅스 명령어 정리

리눅스 컴파일 실행, 빌드 과정, make 명령

psy_er 2021. 11. 30. 22:20
728x90

리눅스 컴파일 실행, 빌드 과정, make 명령

 

< C 프로그램 컴파일 실행 >

 

컴파일 : 사용자가 사용하는 고급언어(C언어)를 기계어(실행파일)로 변환하는 과정

컴파일러 : 이러한 기능을 하는 소프트웨어

 

C언어로 작성한 프로그램을 컴파일하려면 CC 컴파일러가 필요하다.

리눅스의 C 컴파일러 : gcc

gcc 설치 명령어 : $ sudo apt-get install gcc

 

C 프로그램 작성하기 명령어 : $ vi hello.c

내용 작성 후:wq로 저장 후 종료하기.

 

C 프로그램 컴파일하기 명령어 : $ gcc hello.c (소스 파일명)

실행 파일의 이름은 사용자가 지정하지 않으면 a.out으로 생성

 

C 프로그램 실행하기 명령어 :./a.out(경로 주의)

 

실행 파일명 변경하기 : $ gcc o hello hello.c (실행파일 이름 바꾸기)

hello.c 소스파일의 a.out 실행파일 이름을 hello로 바꾸기

 

실행하기 : $./hello

 

 

< 빌드 과정 >

1. 소스파일 하나일 때 : 소스파일 작성하기 > 컴파일하기 > 실행파일 만들기

2. 소스파일 여러 개일 때 : 소스파일 작성하기 > 컴파일하기 > -c 옵션으로 목적 파일 생성

> -o 옵션으로 링크 만들기> 실행파일 만들기

 

소스파일 준비하기 : $ vi one.c

vi에서 다른 파일에 있는 함수를 불러올 때 : extern int two();

목적 파일 만들기 : $ gcc c one.c

목적 파일 만들기 : $ gcc c two.c

 

실행파일 만들기 : $cc o hello one.o two.o

hello 이름으로 실행파일 만들기. one.o , two.o 목적 파일 나열

 

 

< make 명령 사용하기 >

 

makefile : 소스를 읽고 컴파일해 어떤 실행파일을 만들면 되는지 make 명령에 알려줌

make : makefile에 반영시켜 build 과정을 자동화 하기

 

자동화 파일 만들기 : $ vi makefile

TARGET=one
OBJECTS=one.o two.o
${TARGET} : ${OBJECTS}
   gcc o ${TARGET} ${OBJECTS}
one.o : one.c
   gcc c one.c
two.o : two.c  
   gcc c two.c
:wq
${} 안에 변수의 내용을 넣는다.


one.c가 수정되면 one.o를 다시만들라는뜻


one.c 목적파일만들기


two.c 목적파일만들기

 

make 실행해서 makefile에 반영하기 : $ make

실행하기 : $./one

728x90