makefile에 관하여 질문입니다.

익명 사용자의 이미지

# my schar --v
# standards
INCLUDE = /usr/src/linux/include
CC = gcc
CFLAGS = -D__KERNEL__ -I$(INCLUDE) -DMODULE -Wall -O2

TARGET = schar
SRC = schar.c

all $(TARGET).o

clean
rm -f *.o *~ core

1. *~
2. core
이 두개의 의미를 잘 모르겠네요

*~는 아마 $(TARGET)일 것같은데 core는 흠
책에도 없고 문서를 찾기도 힘들군요

익명 사용자의 이미지

노승현 wrote..
# my schar --v
# standards
INCLUDE = /usr/src/linux/include
CC = gcc
CFLAGS = -D__KERNEL__ -I$(INCLUDE) -DMODULE -Wall -O2

TARGET = schar
SRC = schar.c

all $(TARGET).o
<font color=red>
clean
rm -f *.o *~ core</font>

1. *~
2. core
이 두개의 의미를 잘 모르겠네요

*~는 아마 $(TARGET)일 것같은데 core는 흠
책에도 없고 문서를 찾기도 힘들군요

*~은 아마 backup file일거구요
core는 프로그램 실행하구 잘못해서 죽을때 memory를 dump하고 죽습니다.
그래서 gdb로 core를 가지고 디버깅하죠. 메모리 스택이나 죽는 당시의 상황을 알 수 있어서요.
core는 개인의 설정에 따라 안생기게 할 수도 있습니다.(bash에서 뭐 있는데 찾아보시길)
core의 유래는 예전에 unix만드는 사람들이 memory를 core라고 부리기도 했다는 군요.
메모리가 core인 시대에...지금도 여전히 memory가 core일 수도 있죠 )

익명 사용자의 이미지

*~는 백업파일입니다.

에디터의 설정에 따라서 물론 안생기게도 할 수 있습니다.

기존의 test.c 를 편집하게 되면 (Vi의 경우 설정에 따라)

test.c~ 가 생깁니다.

익명 사용자의 이미지


오브젝트 파일과 코어파일(에러고인해 발생하는파일) 을 모두 묻지 않고 지우라는 것이죠