c#1 Marshal.Copy MSDN 설명을 보면 '관리되지 않는 메모리 포인터의 데이터를 관리되는 8비트 부호 없는 정수 배열로 복사합니다.'라고 되어있다. 프로그램 수행도중 가비지 컬렉터가 복사한 메모리를 회수해 가는 문제가 발생하였다. 하여 Marshal.AllocHGlobal함수를 사용하여 메모리를 할당하고 Win32API.memcpy를 사용하여 메모리를 복사하면된다. 이때 주의할 점은 해제를 꼭 해줘야 한다.(Marshal.FreeHGlobal함수를 사용하여 꼭 메모리 해제를 해주자..) 2019. 8. 21. 이전 1 다음