.NET CIL로 작성하고 컴파일 하는 .NET상의 코드 - GC 메모리 관리가 된다.
기계 코드를 직접 컴파일 하도록 컴파일되는 .NET에 없는 코드 - GC 메모리 관리가 안된다.
ex) 윈도우 시스템 자원
관리되지 않는 메모리 블록에 대한 포인터
정수형 포인터를 의미하는 값 형식의 타입
포인터는 메모리 주소값을 보관하는 곳
IntPtr타입은 메모리 주소를 가리키는것 외에 윈도우 OS의 핸들값을 보관하는 용도로 쓰인다.
핸들은 윈도우 OS가 특정 자원에 대한 식별자로서 보관하는 값인데 일례로 파일이 좋은예다.
파일처리, OS에서 제공되는것 처리를 할때 사용된다.
ex) 이미지 처리에서도 쓰인다.
관리되지 않는 메모리 블록 <-> 관리되는 데이터 블록
메모리를 할당, 메모리 블록을 복사 하는 클래스
Win32응용 프로그램과 .Net 응용프로그램을 연결시켜준다.
int32, IntPtr가능
지정된 바이트 수 or 포인터를 사용하여, 프로세스의 관리되지 않는 메모리에서 메모리를 할당.
프로세스의 관리되지 않는 메모리에서 이전에 할당한 메모리를 해제.
'프로그래밍 언어 > C#' 카테고리의 다른 글
[C#] 참조에 의한 매개변수 전달 (ref, out) (0) | 2023.08.11 |
---|---|
[C#] 구조체 (struct)로 메모리 절약하기 (0) | 2023.08.11 |
[C#] 자료구조 : 해시테이블 (Hash Table) (0) | 2023.07.29 |
C# Reflection 이용하여 Class 속성, 값 출력하기 (0) | 2023.07.18 |
C# 클래스 할당시 메모리 구성 디버깅 (0) | 2023.07.17 |