2014-09-17 8 views
3

, 나는 가끔 얻을 :세계적으로 설정 컴파일러 플래그 (/ 내지 Zm 메모리 제한)

치명적인 오류 C1076 : 컴파일러 한계 : 내부 힙 한계에 도달;/Zm을 사용하여 상한선을 지정하십시오.

저는 프로젝트 설정으로 가서 예를 들어 다음과 같이 지정할 수 있음을 알고 있습니다. /Zm500 컴파일러에 더 많은 메모리를 제공합니다 (/Zm에 대한 자세한 내용은 here을 참조하십시오). 그러나 그것은 매우 성가신 일이며 전 세계적으로 기본 한계를 설정하는 것을 선호합니다. 그것을 할 방법이 있습니까?

또는 플러그 인이나 소스 파일의 다른 주석을 사용하여이 특정 플래그를 지정하는 방법이 있습니까? 그런 식으로 잠재적으로 다른 설정을 가진 휴대용 컴퓨터에도 사용할 수 있습니다.

저는 Visual Studio 2008을 사용하고 있습니다. Visual C++ 6.0에서도 작동한다면 괜찮습니다.

+0

작동

당신은 "성가신"는, 그 해결 방법은 당신에게 5 초 동안의 매우 낮은 임계 값을 가지고있다. 더 많은 작업이 필요하다면 워크 플로우에 뭔가 잘못 될 수 있습니다. 이 문제를 해결하고 소스 코드 파일을 분해하거나 64 비트 컴파일러를 사용하면 * 더 * 번거로운 작업을 수행하십시오. 반창고 대신 실제 수정. –

+0

@HansPassant 문제의 코드가 라이브러리의 일부이고 해당 라이브러리를 사용하는 새 프로젝트가 시작될 때마다이 작업을 수행해야합니까? 필자의 경우 코드는 간단하고 쉽게 나눌 수 없지만 컴파일러는 템플릿을 사용하는 것이 효율적이지 않습니다. –

답변

4

나는 결국 이것에 대한 대답을 찾았다. here. - 시스템 - 환경 변수 (IDE에서의 다시 시작해야하는주의)

CL =/ZM500 제어판의 예를 들어

: 모든 필요는 CL 환경 변수를 설정하는 것입니다. cl.exe 명령 줄 인수로 덮어 쓰지 않는 한 모든 빌드에서이 설정을 사용합니다. 이 두 MSVC 6.0 및 Visual Studio 2008

+0

그러나 누군가가'/ Zm'에 소스 코드에 직접 주석을 달 수있는 방법을 알고 있다면 필자는 필자가 필요로하지 않을 수도있는 모든 파일에 대해 전역 설정보다 훨씬 좋은 방법을 배우고 싶습니다. –