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
[75481] Re:Re:Re: 오옷~~~
송신영 [palindrome] 2903 읽음    2019-07-09 12:25
컴파일 옵션에 있네요. 아래 글 참고하세요.
http://docwiki.embarcadero.com/RADStudio/Rio/en/C%2B%2B_Linker_Output


MarunGuy 님이 쓰신 글 :
: 32비트 애플리케이션의 사용자메모리주소크기는 2G입니다.
: VC의 경우 /LARGEADDRESSAWARE 플래그를 설정해주면
: 64비트 윈도에서는 4G까지 사용할 수 있습니다.
:
: 빌더님의 mexe 는 실행파일에 /LARGEADDRESSAWARE 플래그를 설정해주는 것으로 보입니다.
:
: 자세한 설명은 아래 링크를 참조하세요.
: https://docs.microsoft.com/en-us/cpp/build/reference/largeaddressaware-handle-large-addresses?view=vs-2017
: https://helloacm.com/large-address-aware/
:
:  C++ Builder 2007 도 /LARGEADDRESSAWARE 플래그를 설정해주는 방법이 있지않을까요?
:
:  님이 쓰신 글 :
: : void __fastcall TForm1::Button1Click(TObject *Sender)
: : {
: :  // alloc 512 MB
: :  void *p = malloc(1024ULL * 1024ULL * 512ULL);
: :  if(p)
: :   Memo1->Lines->Add(String().sprintf(L"%p", p));
: :  else
: :   Memo1->Lines->Add("fail..");
: : }
: :
: : 512메가 할당이 두번 밖에 안되던게
: :
: : 올려주신 mexe 로 패치한 후에 해보니까
: : 5번 이나 할당 되네요. 신기 ~~~
: :
: : 빌더(TWx) 님이 쓰신 글 :
: : : 가물 님이 쓰신 글 :
: : : :
: : : : C++ Builder 2007을 사용하고 있습니다.
: : : :
: : : : 컴파일(또는 실행 파일 실행) 후, 사용 메모리가 1,750.4MB 를 넘으면 Out of Memory 에러가 발생합니다.(작업관리자에서 확인)
: : : :
: : : : 사용 가능한 메모리 용량을 더 늘릴 수 있는 방법이 있을까요?
: : : : (project->option->linker->output option 에 Maximum heap size를 변경해도 결과는 같습니다.)
: : : :
: : : :
: : :
: : :
: : : 답변:
: : :
: : :
: : : C++ 빌더의 문제점이...
: : : 메모리 메니지먼트 코드도 델파이로 컴파일 되어있는 RTL에 종속되어 있는 기형적인 구조를 갖고 있다는 거고.
: : :
: : : C++ Builder 2007을 갖고있지 않아서...
: : : 델파이 RTL의 메모리 메니지먼트 내부 코드가 어떻게 구현되어 있는 지는 확인 할 수 없습니다.
: : :
: : :
: : : 콘솔모드 프로그램을 간단하게 만들어서 첨부해 놓았으니...
: : : 다운 받아서... 타겟 프로그램 네임이 test.exe 라고 하면...
: : :
: : : mexe test.exe 엔터 쳐서 실행파일 패치한 후에...
: : :
: : : 작업관리자로 타겟 프로그램의 메모리 할당 변화를 확인해 보세요.
: : : 변화가 없으면 델파이로 컴파일 되어 있는 RTL 메모리 매니지먼트 코드를 손 봐야 합니다.
: : :
: : :
: : : 지금과 같이 델파이로 컴파일 되어 있는 RTL, VCL 에 종속되어 있는 기형적인 구조로는
: : : 델파이가 갖고있는 문제점들을...  C++ 빌더에서도 계속 이어 받을 수 밖에 없는 구조.
: : :
: : :
: : :

+ -

관련 글 리스트
75258 out of memory 에러 해결방법 부탁합니다.. 가물 3296 2019/01/25
75259     Re:out of memory 에러 해결방법 부탁합니다.. 빌더(TWx) 4515 2019/01/27
75264         Re: 오옷~~~ 3200 2019/02/01
75265             Re:Re: 오옷~~~ MarunGuy 3567 2019/02/01
75481                 Re:Re:Re: 오옷~~~ 송신영 2903 2019/07/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.