C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[71482] Re:동적 1차원 배열의 최대 크기?
[] 3873 읽음    2014-06-26 11:20
메모 컨트롤의 한계가 아닐까요?

빌더초보 님이 쓰신 글 :
: 안녕하세요. C++ 빌더 QnA 에서 많은걸 배우고 있는 빌더초보입니다.
:
: 32 bit 컴파일러에서 동적으로 생성한 1차원 배열이 최대로 가질 수 있는 크기가 제한이 있나요?
:
:
: 
: 	int size=1024*1024*460;
: 	int inc =1024;
: 
: 	while (1) {
: 		char *a = new char[size];
: 		delete[] a;
: 		size+=inc;
: 		Memo1->Lines->Add(size);
: 
: 	}
: 
: 

:
: 이런식으로 테스트 해봤는데 대략 450~500 메가 사이에서 bad_alloc 에러가 발생하더군요.
:
: 다른 컴퓨터, 다른 빌더버전(2010, XE, XE2)으로 테스트 해봤는데 최대로 생성된 길이가 507메가 였습니다.
:
: TMemoryStream으로도 테스트 해봤는데 비슷하더군요.
:
: 하나의 포인터가 표시할 수 있는 길이의 제한이 있는건가요?
:
:
:
: 다차원 배열로는 기가 단위도 넘기는거 보니 heap 이라는 영역의 제한도 아닌것 같고...
:
: 메모리 단편화 때문이라고 보기엔 항상 저 크기정도에서 에러 나는것도 이상하고...
:
: 32G RAM인 환경에서도 마찬가지였습니다.
:
:
:
: 다시 질문드리자면, 동적으로 생성한 1차원 배열이 가질수 있는 최대 크기가 얼마이며,
: 왜 그렇게 되는지가 알고 싶습니다.
:
: 고수님들 답변 부탁드립니다.
:
:
:
:

+ -

관련 글 리스트
71479 동적 1차원 배열의 최대 크기? 빌더초보 3340 2014/06/25
71482     Re:동적 1차원 배열의 최대 크기? 3873 2014/06/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.