|
글쿤요.. 어이 넘사시러워라...
그럼
Lyn 님이 쓰신 글 :
: 메모리 주소공간은 int 가 맞습니다만..
: 파일의 주소공간은 __int64를 사용합니다.
:
: 그리고 현재 32bit 컴파일러에서 long == int 입니다. 즉 의미없다는거죠 ㅡ.ㅡ
: 32bit를 벗어나는 크기의 파일을 다루기 위해서는 역시 _lseeki64 같은 64bit 버전 저수준 파일 포인터 이동 함수가 필요합니다.
:
: 그리고 fseek 함수는 스트림에서 파일의 위치를 찾는것이 아니라 현재 가르키고 있는 포인터를 옮겨 주는 함수입니다.
:
:
: 김상면 님이 쓰신 글 :
: : fseek함수는 스트림 입출력에서 파일의 위치를 찾아 주는 걸로 제가 알고 있습니다.
: : 제도 예전 대량의 데이터를 다룰때 비슷한 문제를 만난적이 있는데....
: : 그때 고수님들의 말이 웬지 원망스럽더군요....
: : 일선 학교에서는 저수준의 파일 입출력보다 고수준의 파일 입출력을 더 중시 생각하는데.....
: : 저는 약간 견해가 다릅니다. 아마 fseek의 옵셋 범위가 int형일겁니다.
: : 하지만 우리가 익히 알고 있는 주소공간은 거의 대부분 long형과 대등한 걸로 알고 있습니다....
: : 그래서 저는 저수준의 파일 입출력을 권장하는 편입니다.
: : 다룰수 있는 주소 공간도 long형이라 범위가 cpu가 다룰수 있는 대부분의 주소공간을 다 수용합니다.
: :
: : 그리고 이건 장점이자 단점이지만 버퍼링을 하지 않기 때문에 소량의 데이타 처리에는 불리 할지 몰라도 블록 단위의 데이터 처리에는 저수준이 더 좋다고 생각합니다. 물론 이를 위해서는 많은 지식과 경험이 필요하지만....
: : 님과 같이 주소공간이 int범위를 넘어갈 경우는 생각 해봅직하다고 봅니다.
: :
: : 저는 실력이 부족합니다.그래서 잘못 설명한 것도 있을수 있으니 다른 서적과 도움말을 참조하시기 바랍니다.
: : 저수준의 파일 입출력은 기본서적에서도 다루는걸로 알고 있습니다. 내용이 충분한지 모르지만...
: :
: : 그럼
: :
: :
: :
: : 절망과 광끼 님이 쓰신 글 :
: : : 대용량 파일에서의 fseek 관련 질문입니다.
: : :
: : : 동영상 파일의 header parsing을 하려는데요...
: : : fseek의 경우 offset이 long type으로 정의 되어 있습니다.(현재 fseek의 경우 0x80000000 부터는 찾지못하더군요)
: : : 그러나, 제가 parsing하고자 하는 파일의 경우 2G가 넘는 경우가 있는데요...
: : : VC에는 fseeki64 같은 함수가 있던데, 이때 볼랜드에서 사용할 수 있는 다른 함수가 있는지 알려주세요...
|