C#에서 마샬링을 하는 방법은 요기..
https://gomnezip.tistory.com/372
C#에서 마샬링을 왜 할까? 아니 마샬링(Marshalling)이 뭐지?
우선 마샬링을 검색해보면..
네이버 사전 링크 : https://en.dict.naver.com/#/entry/enko/5bea9e86d2054c2d9dbf8bd0f2ec28a3
자.. 정렬시킨다는 뜻이 있다. 무엇을 정렬할 것인가?
데이터를 정렬시킨다. C#은 관리되는 코드안에서 정의하지만, C++은 native이다. 두 언어가 구조체의 데이터를 메모리에 적재하는 형태가 다르다. 그렇기때문에, 마샬링을 통해 데이터를 정렬시켜주는 것.
struct myStructSample{
bool isMe;
double dMyScoreRate;
...
}
예를 들어 위와 같은 데이터 형태를 C# <-> C++간에 주고받아야한다면.. 이 구조체는 이렇게 읽어주세요~ 라고 알려줘야제대로 읽을 수 있을 것이다.
C++에서 C#으로 구조체를 던져주었는데, C#입장에서는 이걸 어쩌라고? 어떻게 해야해? 라는 상황이 되어버릴텐데, 그때 이 구조체를 어떻게 읽으라는 사용설명서 또는 도면이라고 생각하면 될듯.
반응형
댓글