Superkkt Blog

1. 소스코드 수정없이 컴파일러에 특정 매크로를 넘겨줘서 off_t 등의 타입이 자동으로 off64_t로 컴파일되도록 하는 방법. (단점 : 만약 코드에서 off_t가 필요한 자리에 프로그래머가 임의로 long 등의 타입을 사용했을 경우 문제 발생)

인용글:
-D_FILE_OFFSET_BITS=64



2. 직접 소스코드를 수정해서 관련함수를 모두 64비트 함수로 바꾼 경우(ex: open -> open64, struct stat -> struct stat64)

인용글:
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE



3. 파일 오픈시 O_LARGEFILE 플래그 사용(별로 이식성이 없어 보임)


# getconf LFS_CFLAGS

위 명령어를 사용하면 Large File Support를 위해 필요한 매크로를 보여준다.이 값을 컴파일러에 넘겨주면 된다. 참고로 솔라리스 8, 우분투 5.10에서는 아래의 값이 나온다. 즉, 위 1, 2번 두개경우를 모두 만족시키는 매크로 구성이다.

인용글:
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2006/03/19 16:12 2006/03/19 16:12

trackbacks

trackbacks rss

이 글에는 트랙백을 보낼 수 없습니다

Leave a Comment