카테고리
생활코딩

c 더블 포인터 이해하기.

c는 포인터가 혼란스러운데 이해했다고 믿고???? 나중에 다시 생각하려고 남긴다. 다음 코드를 만들었고 실패했다. bufToStruct를 실행할 때 포인터로 넘겼어도 buf를 받으면서 임시 공간에 변수를 만든다. 함수 실행을 끝내면서 그 공간도 날아가 도로묵 된다. 위 내용을 gdb로 확인해 보았다. bufToStruct로 readbuf를 전달할 때 주소를 전달하는 직접 전달하길 원했다. bufToStruct로 전달하는 0xbefff2cc는 어디에서 나왔을까? 임시 변수로 자기가 만들었다. […]

카테고리
책과 영화

Linux System Programming

isbn: 978-1449339531 사 보진 않았지만 참 유용하다. 인터넷을 검색하면 pdf를 쉽게 찾을 수 있다. 400 페이지 책을 자세히 읽고 있으면 지친고 괴롭다. 예제 중심으로 읽고 세세한 나머지 부분을 통과 했다. 나중에 필요할 경우 다시 찾아 보면 된다. 다만 예제는 직접 실행했고 조금씩 수정해 보았다. 전에 도서관에서 비슷한 책을 빌렸는데 그때 왜 이런 책을 읽는지 이해가 […]

카테고리
생활코딩

signal, page 342

signal 예제. shell에서 kill -l로 해당 PID에 시그널을 보낼 수 있다.

카테고리
생활코딩

anonymous memory mapping, p308

여기를 참조 했다. 0x10000에 메모리를 요청했으나, 불가능하여 0xb6ff0000에 0x2000 byte를 얻었다. 512 KB로 다시 맵핑하여 cat/proc/PID/maps로 확인했다. heap 영역 밖 노란열에 512KB를 할당 받았다.(anonymous memory mapping) a.out이 3KB(1K+1K+1K)메모리를 사용한다. 10,000~11,000까지 한 블럭, 20,000 ~ 21,000까지 한 블록. 나머지 21,000 ~ 22,000는 offset 1K를 주고 사용한다. a.out 파일 크기는 8KB 이다. 나머지는 메모리의 다른 영역에 넣는 […]

카테고리
생활코딩

inotify 예제

linux system programming, 283p 리눅스에 파일, 디렉토리를 감시하는 watch가 있다. 특정 경로를 설정하여 감시하여 적절한 이벤트를 작성할 수 있다.