검색결과 리스트
글
리눅스에서 LFS(Large File Support) 를 구현하는 방법은 두가지가 있습니다.
1) 32bit 와 64bit 파일관련 함수를 나눠서 쓰는 경우
#define _LARGEFILE_SOURCE
#define _LARGEFILE64_SOURCE
위의 두가지를 define 해주고 사용합니다. 그러면 open(), read(), write() ... 는 32bit 함수로
open64(), read64(), write64() ... 는 64bit 함수로 사용됩니다.
64bit 함수들은 64bit 형식의 off64_t 형을 오프셋으로 사용합니다.
그리고 64bit 형의 파일 탐색은 ftello(), fseeko() 함수를 대신 사용합니다.
ps : off_t -> of64_t
open() -> opne64() .....
2) 기존의 32bit 함수를 모두 64bit 로 전환
#define _LARGEFILE_SOURCE
#define _FILE_OFFSET_BITS 64
위의 두가지를 define 하면 open(), read(), write() 등이 모두 64bit 형으로 작동합니다.
따라서 off_t 를 사용해도 자동적으로 off64_t 로 전환됩니다.
마찬가지로 64bit 형의 파일 탐색은 ftello(), fseeko() 함수를 사용합니다.
http://www.suse.de/~aj/linux_lfs.html
'Linux > C/C++' 카테고리의 다른 글
variable length array (0) | 2012.07.16 |
---|---|
nslookup -> getaddrinfo 사용 사례 (0) | 2012.07.16 |
C 언어 레퍼런스 - setvbuf 함수 (0) | 2012.07.11 |
recvmsg sendmsg example from italy (0) | 2012.07.11 |
Socket Programming (sendmsg(), recvmsg() example) (0) | 2012.07.11 |
RECENT COMMENT