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

白山市城乡建设局网站抖音seo优化系统招商

白山市城乡建设局网站,抖音seo优化系统招商,做网址多少钱,wordpress评论后显示不出来前言 本人的国产化桌面系统项目需要对接入Linux系统的USB设备进行事件及更详细的信息管理,libusb库是不够的,需要使用udev库,比如我的项目需要区分摄像头/位图设备、存储设备、鼠标键盘设备等的插拔事件,此时需要调用udev库&#…

前言

        本人的国产化桌面系统项目需要对接入Linux系统的USB设备进行事件及更详细的信息管理,libusb库是不够的,需要使用udev库,比如我的项目需要区分摄像头/位图设备、存储设备、鼠标键盘设备等的插拔事件,此时需要调用udev库,下文主要讲解C/C++开发怎么引用udev库。

功能讲解

1、apt方式下载库

sudo apt install libudev-dev
//usbudev.cpp
#include <iostream>
#include <libudev.h>int main() {struct udev *udev;struct udev_monitor *mon;int fd;// 创建 udev 上下文和监视器udev = udev_new();if (!udev) {std::cerr << "Failed to create udev context"<< std::endl;return -1;}//创建一个udev监控器mon = udev_monitor_new_from_netlink(udev, "udev");if(!mon){std::cerr << "udev_monitor_new_from_netlink fail!"<< std::endl;udev_unref(udev);return -1;}// 指定想要枚举的设备类型,udev_monitor_filter_add_match_subsystem_devtype(mon, "usb", nullptr);//允许udev监控器接收事件udev_monitor_enable_receiving(mon);// 获取监听文件描述符并进入事件处理循环fd = udev_monitor_get_fd(mon);std::cout << "Monitoring USB devices. Press Ctrl+C to exit." << std::endl;while (true) {fd_set fds;FD_ZERO(&fds);FD_SET(fd, &fds);// 等待文件描述符就绪if (select(fd + 1, &fds, NULL, NULL, NULL) > 0) {//接收设备事件struct udev_device *dev = udev_monitor_receive_device(mon);if (dev) {const char *action = udev_device_get_action(dev);const char *devnode = udev_device_get_devnode(dev);// Get bus and device numbersconst char* busnum = udev_device_get_property_value(dev, "BUSNUM");//std::cout << "busnum: [" << busnum << "]" << std::endl;const char* devnum = udev_device_get_property_value(dev, "DEVNUM");//std::cout << "devnum: [" << devnum << "]" << std::endl;if (action && devnode) {std::cout << "Action: " << action << ", Device Node: " << devnode << "  busnum: " << busnum << ", devnum: " << devnum  << std::endl;//std::cout << "busnum: [" << busnum << "]" << std::endl;//std::cout << "devnum: [" << devnum << "]" << std::endl;}udev_device_unref(dev);}}}udev_monitor_unref(mon);udev_unref(udev);return 0;
}

编译命令加上-ludev库:

g++ usbudev.cpp -ousbudev -ludev

2、离线方式

在通过apt安装好lidudev库是设备上拷贝以下两个文件出来,放到离线设备的同路径下:

/usr/include/libudev.h
/usr/lib/x86_64-linux-gnu/libudev.so

        安装完成之后,上面usbudev.cpp的代码也编译通过。另外本篇提供了统信UOS系统的libudev的资源,需要离线开发及部署的朋友可以去下载。

http://www.dtcms.com/wzjs/452125.html

相关文章:

  • 潍坊知名网站建设怎么收费值得收藏的五个搜索引擎
  • 创联互动建设网站上海aso
  • 网站时间显示草根seo博客
  • 编程教程免费视频长沙seo服务哪个公司好
  • 西安市城乡建设档案馆网站武汉seo计费管理
  • 部门网站建设的意义网络安全培训最强的机构
  • gta5此网站正在建设关键词优化公司哪家推广
  • 网站建设域名什么意思足球比赛统计数据
  • 红塔网站制作万江专业网站快速排名
  • 做网站 用什么语言好网络营销的作用和意义
  • 嘉兴网站建设嘉兴网站推广百度网站怎么优化排名靠前
  • 音乐网站怎么做无线增值业务批量查询神马关键词排名
  • 海口网站运营托管报价谷歌搜索引擎为什么打不开
  • 做网站接单渠道百度文库首页
  • 绚丽网站短视频营销方式有哪些
  • 网站推广的建议什么是网站推广策略
  • 效果好的免费网站建设绍兴seo推广
  • javaee做网站建设营销策略分析论文
  • ie9网站后台编辑器推广官网
  • vps做电影网站百度搜索排行榜前十名
  • 陕西省市建设委员会网站哈尔滨网络优化推广公司
  • 新建的网站打不开职业技能培训网上平台
  • 昆山建设局网站查预售公司网页制作流程
  • 地方门户类网站湖南 seo
  • 网站制作中搜索栏怎么做百度指数批量获取
  • 揭阳做网站的淘宝seo推广优化
  • 平面设计培训哪个好360优化大师历史版本
  • 织梦dedecms医院类网站在线预约挂号插件网络营销的职能有哪些
  • 网站建设五行百度信息流推广教程
  • 白色网站配色百度惠生活怎么做推广