리눅스 컴파일 실행, 빌드 과정, 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
실행파일 만들기 : $gcc –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
'Linux > 리눅스 명령어 정리' 카테고리의 다른 글
리눅스 groupadd, addgroup, groupmod, groupdel, gpasswd 명령 (0) | 2022.01.06 |
---|---|
리눅스 패스워드 에이징 명령 passwd, chage, userdel (0) | 2022.01.05 |
리눅스 useradd 명령, adduser 명령, usermod 명령 (0) | 2022.01.04 |
리눅스 /etc/login.defs , /etc/group, /etc/gshadow 파일 정리 (1) | 2021.11.14 |
리눅스 /etc/passwd , /etc/shadow 파일 정리 (0) | 2021.11.13 |