리눅서에서 대용량 파일 open() 시 -1 에러 발생!

goldedit의 이미지

안녕하세요.
리눅스에서 아래와 같이 데이터 파일을 열려고 합니다.
일반적인 파일은 전혀 문제가 없습니다.
그러나 대용량 파일 (2기가 이상?)을 열면 -1을 리턴하며 열리지가 않습니다.

fd = open(argv[1], O_RDWR | O_CREAT | O_SYNC);

무엇이 문제인가요? 대용량 파일은 다르게 열어야 하는건가요?
어떻게 하면 대용량 파일을 열수 있는지 답변 부탁 드립니다.
감사합니다.

정태영의 이미지

-1 을 리턴했다면 errno 를 확인해보세요. errno 가 의미하는 바는 man open 에 나와있을겁니다.

--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

Prentice의 이미지

dong1036의 이미지

ulimit -a 해서.. 확인 해보세요 ㅡ,.ㅡ ㅋ

음 냐냐~

ganadist의 이미지

http://kldp.org/node/72016 를 참고하세요.

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

bacon의 이미지

.

powerson의 이미지

위에서 어떤 분이 man open 이라고 하셨는데, manpage에 보시면 flag에서 O_LARGEFILE에 대해서 확인해 보시면 될 거 같습니다.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.