홈
지원
래퍼(Wrapper) DLL이란 무엇이며 언제 필요합니까?
래퍼(Wrapper) DLL이란 무엇이며 언제 필요합니까?
업데이트 됨 Jan 12, 2023
해당 제품
이 문서의 해결책을 실행할 수 있는 제품을 보여줍니다. 이 해결책은 다른 유사한 제품 또는 어플리케이션에도 적용될 수 있습니다.
소프트웨어
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 타입에 할당을 해야 합니다.
관련 링크
Calling C/C++ DLLs Containing Simple and Complex Datatypes from LabVIEW
How Do I Call a Dynamic Link Library (DLL) from LabVIEW?
Call Library Function Returns the Wrong Function Prototype and Function Parameters for DLLs
Adapter Pattern
기타 지원 옵션
NI 커뮤니티에 문의
토론 포럼에서 다른 사용자와 공동 작업
솔루션 찾기 NI 커뮤니티 검색
엔지니어의 지원 요청
유효한 서비스 계약이 필요할 수 있으며 지원 옵션은 국가마다 다릅니다.
서비스 요청 열기
지원 서비스 구매 또는 갱신
Was this information helpful?
Helpful
Not Helpful