[리눅스] 파일 기초 vim, 컴파일

유보라·2022년 9월 8일
0

학교 공부

목록 보기
6/7

파일 다루기 - vim

$ vim [파일 이름]
//해당 이름의 파일이 없는 경우 새로 생긴다.

v : 비주얼 모드
y : 복사
p : 붙여넣기
검색하는 법 : 일반모드에서 /word 그리고 n을 누르면 다음꺼 :검색

컴파일 하기

$ gcc [컴파일 할 파일.c] -o [컴파일 후 이름.o]
$ gcc hello.c -o hello.out

이때 -o hello.out 옵션을 따로 처리해주지 않으면, a.out으로 컴파일 된다.

  • -o : 컴파일 한 파일의 이름 설정
  • -c : 링킹 전까지만 컴파일
// -c 옵션을 통해 링킹은 하지 않음
$ gcc –c –o main.o main.c
$ gcc –c –o func_one.o func_one.c
$ gcc –c –o func_two.o func_two.c

// 여기서 링킹
$ gcc –o print_func main.o func_one.o func_two.o

컴파일과 링킹이 잘 되었는 지 테스트해보면,

잘됐음ㅋ

실행하기

$ ./hello.out

Makefile

컴파일 시 필요한 규칙을 명시한 스크립트 파일

기본작성 방법

<target> : <dependency>
		<recipe>
clean:
		<remove command>

• target: 빌드 이름 대상. 이 rule이 만들어내는 최종 파일명
• dependency: 빌드 대상이 의존하는 파일 목록
• recipe: 빌드 대상을 생성하는 명령
• clean: make clean 명령어를 통해 수행할 작업 작성 (build 부산물 정리)
• “에 있는 재료들로 명령어를 가지고 을 만들어줘”

Makefile 예시

all : print_func

print_func : main.o func_one.o func_two.o
gcc -o print_func main.o func_one.o func_two.o

main.o : header.h main.c
gcc -c main.c

func_one.o : header.h func_one.c
gcc -c func_one.c

func_two.o : header.h func_two.c
gcc -c func_two.c

clean :
rm -f *.o print_func

헤더가 바뀌었는 지 확인 후 컴파일하기 위해서 각각 함수의 컴파일 대상에 header.h도 추가해준다.

그리고 make를 하면

이런식으로 성공~ (위 사진은 짤렸습니당 ㅎ)

profile
인하대학교 컴퓨터공학과 학생입니다😀

0개의 댓글