Q&A

  • ReallocMem( ) 함수 사용법에 대해서 질문드립니다.

  Buff : 전역   Pointer
  ----------------------------
  ReallocMem(Buff, 원래 Buff 크기 + Buffer크기);

  이 함수 사용을 위해

  GetMem(Buffer, ?)  

  동적메모리의 임의크기데이타를    

   Buff 로  CopyMemory(   )  했습니다..

   [원래 Buff 크기]  를 알수있는 방법으로

   Sizeof( BUff )  를 하면 포인터 형이기때문에 4 byte 안나와서요

   그래서 Buff 에 쓴 크기를 합쳐서 원하는 결과를  잠깐 보았습니다

   어떤 방식으로 알아내야 할까요?


1  COMMENTS
  • Profile
    타락천사 2007.05.21 20:21
    안녕하세여. 타락임다..

    포인터 사용하여 메모리 할당하면 기본적으로 메모리 관리는 개발자가 하여야 합니다..

    integer 나 array [0..9] of char 와 같이 할당된 메모리의 사이즈가 정해진 것이 아닙니다.. 따라서, 컴파일러가 메모리 관리를 하지 못합니다..

    하지만, 제한 없이 어떤 메모리 영역에든 접근 할 수 있는 것이 포인터의 장점 입니다.

    최적의 메모리 사용이 될지, 메모리 릭이 될지는 전적으로 개발자에게 달려 있습니다.

    참고로, 가변 메모리를 쓰면서 컴파일러가 메모리 관리를 하게 하려면, dyanmic array 를 쓰셔야 합니다..

    수고하세요..