ext2 파일 시스템에 관한 잘못된 글을 읽으셨군요.
ext2 는 2기가 이상도 파일이 생성됩니다.
(예전에 이런 잘못된 글이 있었고, "잘 못 됐다"고 리플도 달았던 기억이...)
플랫폼마다 다르다는건 fopen 혹은 fwrite 등으로 처리 할 수 있는 사이즈가 다른게 아니고 ansi 표준 함수인 fopen 등은 무조건 2기가 입니다.
(파일 위치를 처리하는 offset 이 signed long 형 이라서겠죠?)
표준이 아닌 방법으로 2기가 이상의 파일을 접근하기 위한 방법이 플랫폼 마다 다르다는 이야기지요.
그리고 파일사이즈 한계치는 파일시스템에 따라 다르므로 어떤 파일 시스템인지는 고려하면 되고, 해당 파일 시스템에 관련된 글을 찾아 보시면 도움이 되겠지요.
이런걸 조금씩 조금씩 접하시다보면, 함수를 처음 익힐때 이 함수가 ansi 표준인지 posix 표준인지 등 호환성에 대한걸 염두하게 되는 자신을 발견하게 될겁니다. ^^
2기가 가 한계이고그 이상은 플랫폼 마다 다릅니다.어떤 플랫폼인지
2기가 가 한계이고
그 이상은 플랫폼 마다 다릅니다.
어떤 플랫폼인지 말해주시면 다른분들이 도움드릴게 편할 것 같네요.
그리고 이와 관련해서 이미 다루어진적이 있으니 잘 검색해 보세요.
유닉스나 리눅스에서 파일을 연다면...
플랫폼마다 다르다면 특정 플랫폼에서 얼만큼의 파일을 열 수 있는지, 외워서(?) 아는 건가요 아니면 제가 직접 어떻게 확인 해 볼 수 있나요?
그냥 일반 노트북인데 1.4기가 이고, 램은 512거든요. 리눅스도 쓰고 윈도우도 쓰는데 윈도우 쓰고 리눅스 쓸 때 열 수 있는 최대 파일 크기가 어떻게 되는지..
그리고 제가 어떤 솔라리스 9 계정(32비트머신)을 가지고 있는데 (제 커퓨터에서 리눅스를 사용한다고 했을때, 만약 리눅스에서 열 수 있는 파일이 더 크다면) 제 컴퓨터에서 사용하던 큰 파일은 솔라리스 제 계정으로 가져 가면 열 수 없는건가요?
그리고 아주 큰 한덩어리로 된 2기가 넘는 동영상 파일은 열 수 없나요?
초보에다 질문이 두서가 없어 죄송하네요. 이것저것 궁금한게 좀 많아서요..
리눅스(glibc)에서는 컴파일할 때 -D_LARGEFILE64_SOUR
리눅스(glibc)에서는 컴파일할 때 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 라고 하면 파일관련 함수들이 64bit offset용으로 교체되게 됩니다.(물론 해당 파일시스템에서 해당 크기의 파일을 지원해야 합니다.)
MacOSX에서는 특별한 옵션 없이도 64bit offset을 쓰게되어있는 것으로 알고있습니다.
솔라리스랑 윈도는 잘 모르겠네요;;
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
최대 open 파일 크기에 대해 검색을 해보니...
검색을 좀 해보니 비슷한 글이 올라왔었네요. 파일시스템이 ext2이면 2기가가 제한이라고... 그랬었군요.
그러면 제가 fopen 을 한다고 할 때 ext2 파일시스템을 쓰고 32비트 리눅스 머신을 쓴다면 램 크기에 상관없이 열 수 있는 크기는 2기가 이하로 동일한가요?
그런데 어떻게 2기가 인지 알 수 가 있는거죠? 혹시 프로그램을 짜서 돌려볼 수는 없는지..?
ext2 파일 시스템에 관한 잘못된 글을 읽으셨군요.ext2 는 2기
ext2 파일 시스템에 관한 잘못된 글을 읽으셨군요.
ext2 는 2기가 이상도 파일이 생성됩니다.
(예전에 이런 잘못된 글이 있었고, "잘 못 됐다"고 리플도 달았던 기억이...)
플랫폼마다 다르다는건 fopen 혹은 fwrite 등으로 처리 할 수 있는 사이즈가 다른게 아니고 ansi 표준 함수인 fopen 등은 무조건 2기가 입니다.
(파일 위치를 처리하는 offset 이 signed long 형 이라서겠죠?)
표준이 아닌 방법으로 2기가 이상의 파일을 접근하기 위한 방법이 플랫폼 마다 다르다는 이야기지요.
그리고 파일사이즈 한계치는 파일시스템에 따라 다르므로 어떤 파일 시스템인지는 고려하면 되고, 해당 파일 시스템에 관련된 글을 찾아 보시면 도움이 되겠지요.
이런걸 조금씩 조금씩 접하시다보면, 함수를 처음 익힐때 이 함수가 ansi 표준인지 posix 표준인지 등 호환성에 대한걸 염두하게 되는 자신을 발견하게 될겁니다. ^^
댓글 달기