[c++] C++에서 libusb 사용하기

C++에서 USB 장치와 통신하려면 libusb 라이브러리를 사용할 수 있습니다. 이 라이브러리를 사용하면 USB 장치로 데이터를 전송하고 제어할 수 있습니다.

libusb 라이브러리 설치

libusb를 사용하기 위해서는 우선 해당 라이브러리를 시스템에 설치해야 합니다.

Windows에서 libusb 설치

Windows에서는 libusb의 바이너리 빌드를 다운로드하여 설치할 수 있습니다. 또는 개발환경에 따라 빌드할 수도 있습니다.

Linux에서 libusb 설치

대부분의 Linux 배포판은 libusb를 패키지로 제공하고 있어 설치가 간단합니다. 패키지 관리자를 사용하여 libusb를 설치할 수 있습니다.

C++ 코드에서 libusb 사용하기

libusb를 사용하여 C++ 코드에서 USB 장치와 통신하는 방법은 다음과 같습니다.

#include <iostream>
#include <libusb.h>

int main() {
    libusb_context *ctx = NULL;
    libusb_device_handle *devh = NULL;
    
    // libusb 초기화
    int ret = libusb_init(&ctx);
    if (ret < 0) {
        std::cout << "libusb initialization error" << std::endl;
        return 1;
    }
    
    // USB 장치 열기
    devh = libusb_open_device_with_vid_pid(ctx, vendor_id, product_id);
    if (devh == NULL) {
        std::cout << "Failed to open USB device" << std::endl;
        libusb_exit(ctx);
        return 1;
    }
    
    // USB 통신 및 작업 수행
    
    // 장치 닫기
    libusb_close(devh);
    
    // libusb 종료
    libusb_exit(ctx);
    
    return 0;
}

위의 예시 코드에서 vendor_idproduct_id는 대상 USB 장치의 벤더 ID와 제품 ID로 대체되어야 합니다.

마치며

위 예시는 libusb를 사용하여 C++에서 USB 장치를 열고 통신하는 간단한 방법을 보여줍니다. libusb에 대한 더 자세한 정보는 해당 문서를 참고하시기 바랍니다.

참고 자료