Win32 배열 최대 크기 문제
글쓴이: Gwondori / 작성시간: 목, 2018/07/26 - 2:44오후
사용하고 있는 운영체제: 64bit windows 10(또는 7)
사용하고 있는 IDE: Visual Studio 2010
32bit 윈도우 프로그램에서 아래와 같이 전역 변수(배열)을 넣은 뒤
char arr[3840*2160*60*4];
int main(int argc, char *argv[])
{
printf("hello world\n");
return 0;
}
실행을 하면 "현재 PC에서는 이 앱을 실행할 수 없습니다" 라는 메시지가 나옵니다.
프로젝트 속성 -> 링커 -> 시스템 항목의 /LARGEADDRESSAWARE 를 On으로 둬도 안되고
마찬가지로 속성 -> 링커 -> 시스템 항목의 스택 예약 크기 등 4개를 2GB 정도로 줘도
같은 메시지가 계속 뜹니다.
malloc 방법 말고는 혹시 다른 방법이 있습니까?
Forums:
참고해보세요.
64비트 컴파일 - 함수 안에서는 됩니다.
큰 배열
https://www.google.co.kr/search?q=%ED%81%B0+%EB%B0%B0%EC%97%B4&oq=%ED%81%B0+%EB%B0%B0%EC%97%B4&aqs=chrome..69i57j69i61.2937j0j8&sourceid=chrome&ie=UTF-8
[완료]c언어에서 배열 크기 관련
https://kldp.org/node/133814
[C] 큰 배열을 선언 할 때 스택 오버플로 예외 가져 오기
http://code.i-harness.com/ko/q/8ba29
이차원 배열 선언만 해도 터져요..
https://www.acmicpc.net/board/view/15466
지역 변수는 힙 메모리를 사용하고 전역 변수는 스택 메모리를 사용합니다.
vs stack size
https://www.google.co.kr/search?q=vs+stack+size&oq=vs+stack+size&aqs=chrome..69i57j0l5.5397j0j8&sourceid=chrome&ie=UTF-8
http://copynull.tistory.com/40
/F(스택 크기 설정)
https://msdn.microsoft.com/ko-kr/library/tdkhxaks.aspx
/STACK 링커 옵션을 사용합니다. 자세한 내용은 /STACK을 참조하십시오.
.exe 파일에 EDITBIN을 사용합니다. 자세한 내용은 EDITBIN 참조을 참조하십시오.
stack overflow and how to increase the stack size
https://social.msdn.microsoft.com/Forums/en-US/2a5b32b6-683b-4729-92d3-45ed7a89ef3f/stack-overflow-and-how-to-increase-the-stack-size?forum=Vsexpressvc
[C++] 스택사이즈 변경(stack size
http://yumere.tistory.com/20
How to overcome Stack Size issue with Visual Studio (running C codes with big array)
https://stackoverflow.com/questions/20744650/how-to-overcome-stack-size-issue-with-visual-studio-running-c-codes-with-big-ar
7. Memory : Stack vs Heap
https://www.gribblelab.org/CBootCamp/7_Memory_Stack_vs_Heap.html
Differences between Stack and Heap
http://net-informations.com/faq/net/stack-heap.htm
c++ stack size and allocation (failure) vs heap
https://arstechnica.com/civis/viewtopic.php?f=20&t=804257
The application was unable to start correctly (0xc0000018). Click OK to close the application.
https://www.google.co.kr/search?q=The+application+was+unable+to+start+correctly+(0xc0000018).+Click+OK+to+close+the+application.&oq=The+application+was+unable+to+start+correctly+(0xc0000018).+Click+OK+to+close+the+application.&aqs=chrome..69i57.52617j0j8&sourceid=chrome&ie=UTF-8
Fixing "the application was unable to start correctly (0xc0000018)" in Windows
https://www.ghacks.net/2015/10/16/fixing-the-application-was-unable-to-start-correctly-0xc0000018-in-windows/
APPINIT_DLLS and delete
The application was unable to start correctly (0xc0000018) - Windows 8 x64
https://superuser.com/questions/610495/the-application-was-unable-to-start-correctly-0xc0000018-windows-8-x64
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
참고해보세요.
//
윈도우 프로세스 메모리 지정 방법
bcdedit.exe /set IncreaseUserVA 3072
관리자 권한 실행 + 재부팅
//
윈도우 가상 메모리 지정 방법 - 윈도우 시스템 - 가상 메모리 - 드라이브 하나만 8096 MB 지정
//
CreateFileMapping ( )
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
.
.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
PE32 컨테이너에서 text,data,bss 등의
PE32 컨테이너에서 text,data,bss 등의 합이 2GiB 를 초과할 수 없다고 들은 것 같습니다.
그래서, 뭘 어떻게해도 1.7GiB 정도 이상의 전역변수를 사용못하겠더란 소리를 들은 것도 같습니다.
댓글 달기