일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 포스트 프로세싱
- 플러그인
- Unboxing
- c#
- Android Plugin
- Unity
- design pattern
- 게임 개발
- 최적화
- Strategy Pattern
- Addressable System
- 디자인 패턴
- Abstract Factory Pattern
- ==
- 인앱 결제
- Boxing
- ReferenceEquals
- UniRx
- Zenject
- ScriptableObject
- equals
- Reflection
- addressable
- sprite atlas
- 스프라이트 아틀라스
- Post Processing
- 1인 개발
Archives
- Today
- Total
One_KWS
CLR, IL, JIT 본문
CLR (Common Language Runtime)
CLR은 NET Framework에서 실행되는 어플리케이션의 실행 환경을 제공하고 다양한 언어로 작성된 코드를 관리하고 실행할 수 있도록 한다. .NET 언어로 작성된 코드를 실행하기 위해 IL(Intermediate Language)로 컴파일하고 JIT(just-in-time) 컴파일러를 사용하여 IL을 기계어로 변환한다.
CLR에는 여러가지 기능들이 있다.
- 메모리 관리: 객체의 메모리 할당과 해제를 자동으로 처리하기 때문에 개발자가 수동으로 메모리 관리를 하지 않아도 된다.
- 코드 실행: .NET 언어로 작성된 코드를 IL로 컴파일하여 실행 가능한 형태로 만든다. IL은 JIT 컴파일러에 의해 실행 코드로 변환된다.
- 예외 처리: 코드에서 발생하는 예외를 처리한다. 예외를 캐치하고 적절한 처리 방법을 결정한다.
- 보안: 실행되는 코드의 보안을 관리한다.
- 라이브러리: .NET Framework에서 제공하는 라이브러리를 사용할 수 있다.
- 언어 호환성: 다른 .NET 언어에서 작성된 코드를 실행할 수 있다. .NET Framework에서 다른 언어를 사용하여 작성된 응용 프로그램을 통합할 수 있게 한다.
IL (Intermediate Language)
NET Framework에서 사용되는 중간 언어이다. .NET Framework에서 작성된 코드를 컴파일하면 IL이라는 중간 언어가 만들어지고 이 IL 코드는 실행시 CLR(Common Language Runtime)에 의해 Native 코드로 컴파일이되는데 이것을 JIT(Just-In-Time) 컴파일이라고 한다. IL 코드는 플랫폼 독립적이기 때문에, 한 번 작성한 코드를 다른 플랫폼에서도 실행할 수 있다.
JIT(Just-In-Time)
JIT 컴파일러는 중간 언어(IL)를 기계어로 컴파일하는 컴파일러 중 하나이며 JIT 컴파일러는 프로그램 실행 중에 중간 코드를 분석하고, 기계어로 번역하여 실행한다. JIT 컴파일러는 프로그램 실행 중에 필요한 부분만 컴파일한다. 생성된 기계어는 캐싱되어 다음에 같은 코드가 실행될 때 재사용되기 때문에 코드 실행 시간을 단축시키고, 메모리 사용량을 최소화할 수 있다.
'C#' 카테고리의 다른 글
==, Equals(), ReferenceEquals() (0) | 2023.05.21 |
---|---|
박싱(Boxing) & 언박싱(Unboxing) (0) | 2023.05.07 |
Value Type, Reference Type (0) | 2023.03.01 |
Reflection (0) | 2023.02.14 |