지금 만든 코드가 일정부분 이상 돈 후에는 allocation이 되지가 않네요.
어떤 경우에 calloc이나 malloc이 NULL을 리턴하는지요?
만약 한계 이상의 메모리를 alloc해서 NULL이 리턴되는 경우라면
그 한계를 늘리려면(혹은 없애려면) 어떻게 해야 할까요?
그리고 한계가 있다면 얼만큼인지 궁금합니다.
C99에서는 "공간을 할당할 수 없는 경우에 널 포인터를 리턴한다"라고 정의해 놓았군요. 공간을 할당할 수 없는 경우가 무엇인지는 여러가지가 있을 수 있겠지만, 일반적으로 메모리가 부족한 상황이라고 보는게 맞는 것 같습니다.
그 한계가 얼마인지, 또한 늘릴수 있는가 없는가, 혹은 그 방법은 무엇인가에 대해서는 사용하고 계신 컴퓨터 환경에 따라 다른 대답이 나오는 문제이므로, 답변을 드리기는 어렵습니다. 사용하고 계신 컴퓨터 환경에 대해 적어주시면 다른 아시는 분이 답변해 주실지도 모르겠습니다. (전 여기서 이만;;;)
C99에서는 "공간을 할당할 수 없는 경우에 널 포인터를 리턴한다"라고
C99에서는 "공간을 할당할 수 없는 경우에 널 포인터를 리턴한다"라고 정의해 놓았군요. 공간을 할당할 수 없는 경우가 무엇인지는 여러가지가 있을 수 있겠지만, 일반적으로 메모리가 부족한 상황이라고 보는게 맞는 것 같습니다.
그 한계가 얼마인지, 또한 늘릴수 있는가 없는가, 혹은 그 방법은 무엇인가에 대해서는 사용하고 계신 컴퓨터 환경에 따라 다른 대답이 나오는 문제이므로, 답변을 드리기는 어렵습니다. 사용하고 계신 컴퓨터 환경에 대해 적어주시면 다른 아시는 분이 답변해 주실지도 모르겠습니다. (전 여기서 이만;;;)
ulimit 확인 해 보셨나요?
ulimit 확인 해 보셨나요?
댓글 달기