마샬링(marshalling)
마샬링이란 컴퓨터 프로그래밍에서 하나 이상의 프로그램 또는 연속되어 있지 않은 저장 공간으로 부터
데이터를 모은 다음, 데이터들을 메시지 버퍼에 집어넣고, 특정 수신기나 프로그래밍 인터페이서에 맞도록 그 데이터를 조직화 하거나, 미리 정해진 다른 형식으로 변환하는 과정을 말한다. 마샬리은 대체로, 어떤 한 언어로 작성된 프로그램의 출력 매개변수들을 다른 언어로 작성된 프로그램의 입력으로 전달해야 하는 경우에 필요하다. 

반면,  언마샬링은...
 
마샬링을 통해 보내진 데이터들을 원래 구조로 복원시키는 것이다. 이러한 의미에서  개체 입출력을 위해 개체를 직렬화serialize 하고 복원deserialize 하는 과정과 비슷합니다. 다만 마샬링과 언마샬링은 단순한 데이터의 직렬화가 아니라, 구조화된 대상들에 대해 구조 해체/복원이 개입할 때 사용하는 개념이라는 점이 다릅니다.

실매개변수
프로그래밍 언어에서 프로시저나 함수를 호출할 때 호출하는 쪽에서 실제로 넘겨주는 변수 또는 수식. 이는 실행시에 그 값에 계산되어 프로시저의 형식 인수(formal parameter)에 대응되어 넘겨진다.
 
void int foo(int num) <-형식매개변수
foo(20); <- 실매개변수


'Programing > C#&.Net' 카테고리의 다른 글

형식 메타데이터  (0) 2016.11.30
c# 프로그램 연습  (0) 2016.11.30
Delegate(대리자)  (0) 2016.11.30
dll만들기 명령 프롬프트 사용  (0) 2016.11.30
c# 기초  (0) 2016.11.30

interface IAverage : IUnknown

{

virtual int __stdcall Average(int *base,int asize)=0;

};



interface ICal: IUnknown

{

virtual int __stdcall Add(int a,int b)=0;

virtual int __stdcall Sub(int a,int b)=0;

virtual int __stdcall Mul(int a,int b)=0;

virtual int __stdcall Div(int a,int b)=0;

};


DLL만들기 예제

FactoryDll.zip



DLL지옥

DLL지옥(dll hell)은 마이크로소프트 윈도우 기반의 프로그램에서 DLL을 사용할 경우
발생할 수 있는 복잡성을 뜻하는 말이다. 이용어는 릭 엔더슨이 2000년 1월에발표한 <DLL지옥의 종말>>이라는 문서를 통해 대중에 소개되었따 그 전에는 잠시 동안 마이크로소프트 내부에서 사용되었다.DLL 지옥은 DLL을 관리할 때 발생할 수 있는 모든 문제를 뜻한다. 여기에는 DLL 버전 충돌 문제, 프로그램이 의존하는 DLL파일을 찾을 때의 어려움, 불필요한 DLL파일 복사본이 만들어지는 문제 등이 포함된다. DLL 지옥은 잠재적인 운영체제 설계 결함의 한 예이다. 이결함으로 인해 잘 작성된 프로그램도 문제를 일으킬 수 있는데, 이는 허술하게 작성된 프로그램의 나쁜 프로그래밍 습관이나 버그로부터 영항을 받을 받을 수 있고, 이를 운영체제가 묵인하기 때문이다.


출처 : 위키백과


+ Recent posts