CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): guest (guest) <211.38.42.81>
날 짜 (Date): 2002년 7월 30일 화요일 오후 06시 12분 29초
제 목(Title): 프로그램의 메모리 사용량 증가..



  리눅스에서 C로 프로그램을 작성했는데 몇 시간동안 계속 실행시켜 놓은 후

  메모리 사용량(top 명령으로..)을 보면 꾸준히 증가하고 있습니다.

 malloc을 쓰는 부분을 보면 다른데로 분기하는 데도 없고
 
 소스상으로는 확실히 free()를 실행시킵니다.

(함수 중간에 return이 없고 종료전에 free()를 호출하니...)

그런데도 계속 메모리 사용률이 증가하는 이유가 뭘까요?

  아래와 같은 코드가 문제가 될까요?

  char *str_ret()
  {
     static char buf[512];
     ...
     return buf;
  }

  ...

  func2()
  {
     char *test;
     ....
     test=str_ret();
     ...
  }
  
  이때 func2가 여러번 호출되면 메모리가 샐까요?

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.