2010-04-10 5 views
1

[1000] [1000] 크기의 4 개의 행렬을 사용해야하는 프로그램을 만들고 있습니다. malloc()을 사용하여 프로그램을 만들었지 만 프로그램을 실행하려고하면 프로그램이 중단되고 메모리 사용량이 최대 2.5GB까지 증가합니다. 가능한 한 빨리 모든 해결책을 제안하십시오. 감사하겠습니다.동적 메모리 할당 문제

+3

실행하는 코드를 표시하여 이러한 행렬을 만들 수 있습니까? 각 매트릭스의 요소 유형은 무엇입니까? 더 작은 행렬을 만들고 메모리 사용량이 얼마나 많은지 보았습니까? –

+2

해결책을 제안하기 위해 더 많은 정보가 필요합니다. 우편 번호. – meagar

+2

동의. 코덱 코드! = D –

답변

0

gdb과 같은 디버거에서 프로그램을 실행하여 충돌이 발생한 정확한 위치를 확인하지 않는 이유는 무엇입니까? 문제의 범위를 좁히는 데 도움이됩니다.

+0

나는 이것이 투표에 반대하는 것에 동의하지 않는다 ... 현재 정보가 주어지면 나는 그것이 가장 좋은 대답에 관한 것이라고 생각한다. = P –

+1

"최선의 답을 줄 수있다"는 것이 꼭 좋은 대답은 아닙니다. 개인적으로, 나는 그것을 downvote하지 않겠지 만, 나는 그것도 upvote하는 경향이되지 않습니다. –

1

4 행렬은 크기 [1000] [1000]

당신이 필요로하는 메모리의 컴파일시에 알고 왜 malloc()를 사용합니까? 동적으로 2 차원 배열을 할당하는 것이 가장 간단한 일은 아니며 둘 다 해방하는 것도 아닙니다 (C FAQ, Question 2.14 참조). 프로그램을 지나치게 복잡하게하지 마십시오.