mmap 주의점 mmap을 사용한다고 해서 파일의 내용이 모두 메모리에 올라가는 것은 아니다. 해당 내용을 읽었을때만 메모리에 적재된다.( 데이터 메모리 적재를 위해서는 메핑된 메모리 영역에 접근해봐야 한다. 이런 접근은 페이지 단위로 실행해서 모든 페이지를 순회하면 모든 페이지가 적재된다. .. C언어 2014.11.27
large file or large memory 64bit에서 2기가 이상 메모리 할당이 안돼서 아래와 같이 여러가지를 찾아보고 했었는데 다 부질없는 짓이었다. char *p; size_t size = 1024*1024*1024*10; p = malloc(sizeof(char)*size ); 위와 같이 코딩을 하면 2G이상 할당이 안되는데 size_t size = 1024*1024*1024*10; 에서 우변이 int형 즉 4byte로 인식돼 발생한 문.. C언어 2014.11.24
mmap 삽질 기술은 사용하지 않으면 금방 잊는것 같다 오랜만에 mmap을 사용해볼려는데 계속해서 버스 오류가 발생했다 코드를 아무리 들여다 봐도 딱히 문제가 안보여 웹서치를 했더니 mmap으로 메모리와 파일을 매핑할때 파일이 커지거나 작아지지 않기 때문에 메모리 만큼 파일을 키워서 매핑해야.. C언어 2014.11.14