본문 바로가기

프로그래밍/C#

C# C++ 마샬링? 랩핑?..

반응형

CCD및 분광기를 제어하는 시스템을 개발하려니..

회사소스는 C#인데 컨트롤러는 C++기반의 DLL과 헤더파일만 제공이 된다..그래서 간단하게 생각되는것이

마샬링이던데..마샬링 랩핑..공부를 더해야겠다..일단 방법은 아래와 같다..

 

래핑 클래스 생성

 

public class TESTWrapper
{

//dllimport

  [DllImport("McdMain.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
  public static extern short StartDevice();

}

 

함수 매칭 클래스 생성

 public class TEST_01
 {

  public bool StartDevice()
  {
   // return code
   if (TESTWrapper.StartDevice() == 0)
    return true;
   return false;
  }

}

 

호출해서 사용

 

TEST_01.StartDevice();

반응형