vi 명령어 | 동작 |
---|---|
i | 현재 커서 위치에 삽입 (입력모드로 전환) |
a | 현재 커서 바로 다음 위치에 삽입 (입력모드로 전환) |
u | 방금한 명령 취소 ( == ctrl + z) |
yy | 현재 줄을 버퍼로 복사 (한 줄 ctrl + c ) ex. 5줄 복사 : 5yy |
p | 현재 커서가 있는 줄 바로 아래에 버퍼 내용 붙여넣기 (이전에 복사한 줄을 현재 커서 아래부터 ctrl + v) |
.c
소스파일을 .o
실행파일로 만들 때, 수정을 하면 수정 파일을 또 컴파일하고 실행파일로 만들어줘야한다. 수정한 파일들만
make
라는 명령어를 통해 쉽게 컴파일하도록하기 위해 한다.tab + 명령어
필수!)TARGET : dependencies # 타겟을 만들건데 dependencies를 바탕으로 해줘
명령어 #타겟을 만들기 위해 실행할 명령어들
CC
: 현재 쓸 컴파일러 이름 (c니까 gcc)TARGET
: 우리가 만들고자하는 거, 실행파일인 app.outOBJS
: dependency들, 즉 목적파일들CFLAGS
: 컴파일 시 줄 수 있는 옵션들 -Wall, -g
등LDFLAGS
: 바이너리 파일 생성 시 링커가 필요한 라이브러리들 명시,우리는 C만 필요하니까 -lc
all
키워드를 추가해서 우리가 만들고자하는 거를 명시해서 $(TARGET)에 해당되는 명령어의 위치가 어디에 있든 모든 명령어들을 실행하도록 (없다면 맨 윗줄 하나만 실행하므로)clean
키워드 : rm -f
로 일일히 삭제해줄 필요없이 clean
이라고 터미널에 한번 쓰면 만들어줬던 파일들을 모두 삭제하도록R
ed A
unt C
olor change면 결과로 Parent가 Red고 자식들이 Black고B
lack A
unt R
otate면 결과로 Parent가 Black, Child가 Red)라고If you wish to make an apple pie from scratch, you must first invent the universe - Carl Sagan
rbtree 구현을 위해 참고하던 중 마지막에 나왔던 Carl Sagan의 인용구
🍎프로그래밍 언어들의 조상(?)격인 C언어를 공부하는데 살며시 적용가능한 말이 아닌가 싶다.
🥧무(無)에서 프로그램(애플파이)을 짜려면 C언어(프로그래밍의 동작 원리를 보여주는 언어)를 공부(invent the universe)하고 나서야 가능한 느낌..
👩💻 어렵지만 그만큼 뭔가를 만든다는 거에는 깊은 이해를 동반한다는게 아닐까..그리고 그 이해를 한다면 애플파이 만드는 법은 기억력이 닿는 한 까먹지 않을듯 (C언어도!)