当前位置: 首页 > news >正文

电商是干什么工作的长沙优化网站技巧

电商是干什么工作的,长沙优化网站技巧,wordpress提示安装,设置数据库字符集为utf8一#xff1a;下载libusb文件 下载最新的库的下载网站#xff1a;https://libusb.info/ 下载#xff1a; 解压后目录如下#xff1a; 二#xff1a;库文件添加QT中 根据自己的编译器选择库#xff1a; ①将头文件中添加libusb.h ②源文件中添加libusb-1.0.lib ③添加…一下载libusb文件 下载最新的库的下载网站https://libusb.info/ 下载 解压后目录如下 二库文件添加QT中 根据自己的编译器选择库 ①将头文件中添加libusb.h ②源文件中添加libusb-1.0.lib ③添加库文件 三编译工程 添加库后直接编译不报错即为成功 四example 参考例程中的调用方法 /* * Test suite program based of libusb-0.1-compat testlibusb * Copyright (c) 2013 Nathan Hjelm hjelmnmac.ccom * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */#include stdio.h #include string.h #include libusb.hint verbose 0;static void print_endpoint_comp(const struct libusb_ss_endpoint_companion_descriptor *ep_comp) {printf( USB 3.0 Endpoint Companion:\n);printf( bMaxBurst: %u\n, ep_comp-bMaxBurst);printf( bmAttributes: %02xh\n, ep_comp-bmAttributes);printf( wBytesPerInterval: %u\n, ep_comp-wBytesPerInterval); }static void print_endpoint(const struct libusb_endpoint_descriptor *endpoint) {int i, ret;printf( Endpoint:\n);printf( bEndpointAddress: %02xh\n, endpoint-bEndpointAddress);printf( bmAttributes: %02xh\n, endpoint-bmAttributes);printf( wMaxPacketSize: %u\n, endpoint-wMaxPacketSize);printf( bInterval: %u\n, endpoint-bInterval);printf( bRefresh: %u\n, endpoint-bRefresh);printf( bSynchAddress: %u\n, endpoint-bSynchAddress);for (i 0; i endpoint-extra_length;) {if (LIBUSB_DT_SS_ENDPOINT_COMPANION endpoint-extra[i 1]) {struct libusb_ss_endpoint_companion_descriptor *ep_comp;ret libusb_get_ss_endpoint_companion_descriptor(NULL, endpoint, ep_comp);if (LIBUSB_SUCCESS ! ret)continue;print_endpoint_comp(ep_comp);libusb_free_ss_endpoint_companion_descriptor(ep_comp);}i endpoint-extra[i];} }static void print_altsetting(const struct libusb_interface_descriptor *interface) {uint8_t i;printf( Interface:\n);printf( bInterfaceNumber: %u\n, interface-bInterfaceNumber);printf( bAlternateSetting: %u\n, interface-bAlternateSetting);printf( bNumEndpoints: %u\n, interface-bNumEndpoints);printf( bInterfaceClass: %u\n, interface-bInterfaceClass);printf( bInterfaceSubClass: %u\n, interface-bInterfaceSubClass);printf( bInterfaceProtocol: %u\n, interface-bInterfaceProtocol);printf( iInterface: %u\n, interface-iInterface);for (i 0; i interface-bNumEndpoints; i)print_endpoint(interface-endpoint[i]); }static void print_2_0_ext_cap(struct libusb_usb_2_0_extension_descriptor *usb_2_0_ext_cap) {printf( USB 2.0 Extension Capabilities:\n);printf( bDevCapabilityType: %u\n, usb_2_0_ext_cap-bDevCapabilityType);printf( bmAttributes: %08xh\n, usb_2_0_ext_cap-bmAttributes); }static void print_ss_usb_cap(struct libusb_ss_usb_device_capability_descriptor *ss_usb_cap) {printf( USB 3.0 Capabilities:\n);printf( bDevCapabilityType: %u\n, ss_usb_cap-bDevCapabilityType);printf( bmAttributes: %02xh\n, ss_usb_cap-bmAttributes);printf( wSpeedSupported: %u\n, ss_usb_cap-wSpeedSupported);printf( bFunctionalitySupport: %u\n, ss_usb_cap-bFunctionalitySupport);printf( bU1devExitLat: %u\n, ss_usb_cap-bU1DevExitLat);printf( bU2devExitLat: %u\n, ss_usb_cap-bU2DevExitLat); }static void print_bos(libusb_device_handle *handle) {struct libusb_bos_descriptor *bos;uint8_t i;int ret;ret libusb_get_bos_descriptor(handle, bos);if (ret 0)return;printf( Binary Object Store (BOS):\n);printf( wTotalLength: %u\n, bos-wTotalLength);printf( bNumDeviceCaps: %u\n, bos-bNumDeviceCaps);for (i 0; i bos-bNumDeviceCaps; i) {struct libusb_bos_dev_capability_descriptor *dev_cap bos-dev_capability[i];if (dev_cap-bDevCapabilityType LIBUSB_BT_USB_2_0_EXTENSION) {struct libusb_usb_2_0_extension_descriptor *usb_2_0_extension;ret libusb_get_usb_2_0_extension_descriptor(NULL, dev_cap, usb_2_0_extension);if (ret 0)return;print_2_0_ext_cap(usb_2_0_extension);libusb_free_usb_2_0_extension_descriptor(usb_2_0_extension);} else if (dev_cap-bDevCapabilityType LIBUSB_BT_SS_USB_DEVICE_CAPABILITY) {struct libusb_ss_usb_device_capability_descriptor *ss_dev_cap;ret libusb_get_ss_usb_device_capability_descriptor(NULL, dev_cap, ss_dev_cap);if (ret 0)return;print_ss_usb_cap(ss_dev_cap);libusb_free_ss_usb_device_capability_descriptor(ss_dev_cap);}}libusb_free_bos_descriptor(bos); }static void print_interface(const struct libusb_interface *interface) {int i;for (i 0; i interface-num_altsetting; i)print_altsetting(interface-altsetting[i]); }static void print_configuration(struct libusb_config_descriptor *config) {uint8_t i;printf( Configuration:\n);printf( wTotalLength: %u\n, config-wTotalLength);printf( bNumInterfaces: %u\n, config-bNumInterfaces);printf( bConfigurationValue: %u\n, config-bConfigurationValue);printf( iConfiguration: %u\n, config-iConfiguration);printf( bmAttributes: %02xh\n, config-bmAttributes);printf( MaxPower: %u\n, config-MaxPower);for (i 0; i config-bNumInterfaces; i)print_interface(config-interface[i]); }static void print_device(libusb_device *dev, libusb_device_handle *handle) {struct libusb_device_descriptor desc;unsigned char string[256];const char *speed;int ret;uint8_t i;switch (libusb_get_device_speed(dev)) {case LIBUSB_SPEED_LOW: speed 1.5M; break;case LIBUSB_SPEED_FULL: speed 12M; break;case LIBUSB_SPEED_HIGH: speed 480M; break;case LIBUSB_SPEED_SUPER: speed 5G; break;case LIBUSB_SPEED_SUPER_PLUS: speed 10G; break;default: speed Unknown;}ret libusb_get_device_descriptor(dev, desc);if (ret 0) {fprintf(stderr, failed to get device descriptor);return;}printf(Dev (bus %u, device %u): %04X - %04X speed: %s\n,libusb_get_bus_number(dev), libusb_get_device_address(dev),desc.idVendor, desc.idProduct, speed);if (!handle)libusb_open(dev, handle);if (handle) {if (desc.iManufacturer) {ret libusb_get_string_descriptor_ascii(handle, desc.iManufacturer, string, sizeof(string));if (ret 0)printf( Manufacturer: %s\n, (char *)string);}if (desc.iProduct) {ret libusb_get_string_descriptor_ascii(handle, desc.iProduct, string, sizeof(string));if (ret 0)printf( Product: %s\n, (char *)string);}if (desc.iSerialNumber verbose) {ret libusb_get_string_descriptor_ascii(handle, desc.iSerialNumber, string, sizeof(string));if (ret 0)printf( Serial Number: %s\n, (char *)string);}}if (verbose) {for (i 0; i desc.bNumConfigurations; i) {struct libusb_config_descriptor *config;ret libusb_get_config_descriptor(dev, i, config);if (LIBUSB_SUCCESS ! ret) {printf( Couldnt retrieve descriptors\n);continue;}print_configuration(config);libusb_free_config_descriptor(config);}if (handle desc.bcdUSB 0x0201)print_bos(handle);}if (handle)libusb_close(handle); }#ifdef __linux__ #include errno.h #include fcntl.h #include unistd.hstatic int test_wrapped_device(const char *device_name) {libusb_device_handle *handle;int r, fd;fd open(device_name, O_RDWR);if (fd 0) {printf(Error could not open %s: %s\n, device_name, strerror(errno));return 1;}r libusb_wrap_sys_device(NULL, fd, handle);if (r) {printf(Error wrapping device: %s: %s\n, device_name, libusb_strerror(r));close(fd);return 1;}print_device(libusb_get_device(handle), handle);close(fd);return 0; } #else static int test_wrapped_device(const char *device_name) {(void)device_name;printf(Testing wrapped devices is not supported on your platform\n);return 1; } #endifint main(int argc, char *argv[]) {const char *device_name NULL;libusb_device **devs;ssize_t cnt;int r, i;for (i 1; i argc; i) {if (!strcmp(argv[i], -v)) {verbose 1;} else if (!strcmp(argv[i], -d) (i 1) argc) {i;device_name argv[i];} else {printf(Usage %s [-v] [-d /dev/bus/usb/...]\n, argv[0]);printf(Note use -d to test libusb_wrap_sys_device()\n);return 1;}}r libusb_init_context(/*ctx*/NULL, /*options*/NULL, /*num_options*/0);if (r 0)return r;if (device_name) {r test_wrapped_device(device_name);} else {cnt libusb_get_device_list(NULL, devs);if (cnt 0) {libusb_exit(NULL);return 1;}for (i 0; devs[i]; i)print_device(devs[i], NULL);libusb_free_device_list(devs, 1);}libusb_exit(NULL);return r; }
http://www.dnsts.com.cn/news/154404.html

相关文章:

  • 河北住房与城乡建设部网站企业推广的成功
  • 外贸网站解决方案域名查询购买
  • 外贸网站推广做英语quiz的网站
  • 建设厅官方网站新资质标准类似游侠客网站建设
  • 哪些人做数据监测网站seo任务大厅
  • 郑州市二七建设局网站长沙装修公司排名十强
  • 做海报有哪些网站网站必须要备案吗
  • 网站开发可以学吗网站运营推广该如何做
  • 智慧团建网站登录入口手机版惠州网络推广公司
  • 加强网站微信信息编辑队伍建设做网络技术方案叫什么
  • 制作钓鱼网站1111wk域名更换
  • 网站做排名有用吗淘宝网页设计流程图
  • 自己怎么做淘宝网站安卓手机app开发软件下载
  • 石家庄鹿泉网站建设游戏推广员到底犯不犯法
  • 不会代码建设网站教育机构网站建设方案书
  • 徐州网站制作怎样网页界面设计用什么软件
  • 深圳物流公司网站沧州市有哪些网络公司
  • 番禺网站开发哪家好呼和浩特做网站的公司有哪些
  • 互联网网站 权限免费创建自己的网站
  • 农机局网站建设方案腾讯云国外服务器
  • o2o网站策划学校网站建设模板
  • 天河网站建设集团重庆电子网站建设
  • 网站开发维护公司经营范围wordpress 8211
  • 如何推荐别人做网站番禺做网站企业
  • 廊坊网站建设兼职二级网站模板
  • 个人可以建网站合肥室内设计公司有哪些
  • 石家庄企业网站网页设计做自己的网站可以赚钱吗
  • 易语言做网站后端网站建设160页答案
  • 国外做衣服网站网站建设 策划方案
  • 浪漫免费表白网站wordpress category 分页