c#
-
Dotnet 환경에서 unmanaged 코드에 접근하는 방법IT/DevOps 2011. 1. 26.
1. COM Interop Dotnet CLR이 COM Interop을 위해 최적화된 마샬러(marshaler)를 제공 ※ 먀샬링 : 클라이언트가 요청한 데이터를 서버가 인터페이스에 맞도록 데이터를 조직화 하고 변환하는 것. ex) 스택 동일 어플리케이션에서 객체의 메서드를 호출할 떄 매개변수나 결과값은 스택을 통해 전달하는데, 동일한 어플리케이션이 아닐 경우 서로 다른 스택을 사용하기 때문에 전달할수 없다. 이러한 경우에 메서드를 호출하기 위해 매개변수와 결과값은 바이트 스트림(메모리버퍼)에 기록하고 전달하는 방법으로 해결할 수 있는데 바이트 스트림으로 변환하는 과정을 마샬링이라 한다. 2. PInvoke(Platform Invoke) DLL이 외부에 노출하는 export 함수를 직접 호출하는 방법 ※..