코딩/C#

[C#] 마샬링(Marshalling)

버딩 2016. 3. 2. 17:02
반응형

마샬링이란 - 한 객체의 메모리에서의 표현방식을 저장 또는 전송에 적합한 다른 데이터 형식으로 변환하는

                 과정이다. 데이터를 컴퓨터 프로그램의 서로 다른 부분 간에 혹은 한 프로그램에서 다른 프로그램

                 으로 이동해야 할 때도 사용한다.

                 마샬링은 직렬화(Serialization)과 유사하며 한 오브젝트(직렬화 된 오브젝트)로 멀리 떨어진 오브젝

                 트와 통신하기 위해 사용된다.

                 이는  복잡한 통신을 단순화 하기 위해, 기본요소 대신 통신을 위한 맞춤형 오브젝트를 사용한다.


마샬링의 용도

- 마샬링은 프로세스 간 또는 쓰레드 간 데이터 전송에 필요한 원격 프로시저 호출매커니즘 구현에 사용된다.

- 닷넷 프레임워크(.NET)에서, P/Invoke 프로세스 하의 관리되지 않은 타입과 CLR 타입 간의 변환은 마샬링을

  요구하는 또 하나의 예

  @ CLR(Common Language Runtime=공통 언어 런타임) : MS의 .NET Initialtive의 가상 머신 구성 요소로써,

       프로그램 코드를 위한 실행 환경을 정의하는 MS의 공통 언어 기반 표준의 기능이다. 즉, 컴파일된 .NET

       코드(바이트 코드)를 기계어(네이티브 코드)로 변환하는 장치이다.

반응형