libusb: A free library for accessing USB devices written in C
Access USB devices on any platform
USBs are intended to be universal and so is libusb. The library works on all major platforms, including Windows, MacOS, and Linux. It provides a cross-platform API for communicating with USB hardware and it also supports all USB protocol versions, from 1.0 to 3.1.
Save yourself time and trouble
libusb is intended to save developers time and energy. Interacting with USB devices is a common need for many programmers that program for hardware. Rather than rolling your own solution, which takes time and may be prone to bugs, instead use libusb. It works out of the box and on all platforms.
Don't roll your own
libusb is a well-written, peer-reviewed and open-source C library for interacting with USB devices. Much like Universal USB Installer or USBDeview, these tools are pre-written and freely available. As libusb is written to be generic, it should work with virtually any USB device and computer platform.
Free open-source C library
libusb is a free, open-source library for USB devices that is a hobby project for several developers. Anyone can contribute, which makes it good for hobbyist developers. Professional developers may be put off by the lack of professional support available. The documentation is good, but there are few places to turn for support if anything goes wrong.