래퍼(Wrapper) DLL이란 무엇이며 언제 필요합니까?

업데이트 됨 Sep 22, 2020

해당 제품

소프트웨어

  • LabVIEW Base
  • LabVIEW Full

문의사항

래퍼(Wrapper) DLL이란 무엇이며 언제 필요합니까?

해결책

래퍼는 다른 소프트웨어에 호환성 레이어를 제공하는 소프트웨어입니다. 서드 파티(Third Party) DLL은 일반적으로 LabVIEW가 아닌 C (또는 유사한 low-level languages)에서 액세스할 수 있도록 설계되어 있기 때문에 LabVIEW 어플리케이션을 개발할 때 종종 필요합니다. 예를 들어 이러한 DLL은 LabVIEW가 쉽게 처리할 수없는 포인터 또는 복잡한 데이터 구조를 반환할 수 있습니다.

래퍼 DLL을 작성하는 것은 원래 작성자가 의도 한 방식으로 원본 DLL에 액세스하는 C에서 완전히 별도의 프로그램을 작성하는 것과 비교할 수 있습니다. 이 래퍼 프로그램은 LabVIEW에서 액세스할 수 있도록 특별히 설계되었습니다. 이러한 의미에서 새로운 C 프로그램은 원래의 C 프로그램 (DLL)을 "감싸고"호환성 계층을 제공합니다. 래퍼의 이점은 어떤 방식으로든 수정될 필요가 없으므로 원본 DLL의 소스 코드가 필요 없다는 것입니다.

추가 정보

래퍼(Wrapper)가 필요한 가장 흔한 경우는 C 또는 C+에서 Union 타입을 입력 혹은 출력 파라미터로 사용할 때입니다. 이유는 LabVIEW는 Union 타입과 호환하지 않기 때문입니다. 이 경우에는 LabVIEW로부터 가져온 단일 값을 Main dll에 전달해기 전에 래퍼 dll에 Uinon 타입에 할당을 해야 합니다.