自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(222)
  • 资源 (27)
  • 收藏
  • 关注

原创 【Rust】所有权OwnerShip

rust使用由编译器检查的一些规则构成的所有权系统来管理内存。且这不会影响程序的运行效率。

2024-07-26 22:31:27 402

原创 【Rust】字符串String类型学习

使用String::from方法创建字符串,.更新String使用push_str和push追加字符串方法不会改变字符串的所有权使用+操作符或者 format!宏连接字符串Rust不允许使用下标访问字符串里面的单个字符

2024-07-10 22:54:26 532

原创 【Rust】Cargo介绍

为什么要有Cargo,Cargo可以做啥

2024-07-07 18:37:51 369

原创 【Rust】function和methed的区别

function和methed很多都是相通的。不同点在于,methed定义在结构体里面,并且它的第一个参数肯定是self,代表结构体实例。

2024-06-23 18:09:45 508

原创 【OpenHarmony】下载指定时间点的代码

【代码】【OpenHarmony】下载指定时间点的代码。

2023-12-20 11:35:18 210

原创 【自测试】gtest学习笔记

官网:https://google.github.io/googletest/primer.html。

2023-12-13 09:47:38 113

原创 【OpenHarmony】系统编译环境搭建笔记

【OpenHarmony】系统编译环境搭建笔记。

2023-10-24 15:26:51 491

原创 【usb】linux内核USB键盘驱动解析--普通键值上报及转化

在kbd->old中保存了上次报上来的键值,kbd->new中是本次报上来的键值。如果上次报了某键值,但是本次没报,说明该按键被释放了,所以上报案件旧释放事件。如果上次没有报某按键而这次报了,说明该按键是这次被按下了,所以要上报按键按下事件。

2023-04-02 16:03:08 866

原创 【usb】linux内核USB键盘驱动解析--LED灯的控制

通过事先准备好urb,然后在里面需要时,直接修改leds数据,然后将该urb发送即可。

2023-04-02 14:38:52 1327 3

原创 【libusb】配置描述符解析分析

描述符解析基本分为三部分,查找描述符->解析描述符->保存未做解析的描述符。

2023-03-27 17:43:49 717

原创 【usb】linux内核USB键盘驱动解析--特殊键值转化及上报

总结一下,117和118行的这个for循环,通过依次查看new[0]元素的各个位,确定该位对应的键是否被按下。并将该键值转化为输入子系统定义的键值,后上报给输入子系统。

2023-03-26 20:05:20 1051

原创 【USB】windows热插拔通知接口分析

window提供了方法,可以用来监听设备的热插拔事件。hRecipient,表示用来接收通知的窗口或者服务。NotificationFilter,过滤器,用来过滤设备通知。Flags,用来说明hRecipient是个窗口还是服务。通知必须绑定到窗口或者服务,也就是说在监听之前,你必须先创建一个窗口或者服务。其基本结构为,具体结构根据字段值的不同而不同,typedef struct _DEV_BROADCAST_HDR {

2023-02-26 11:31:47 1196

原创 【usb】winusb 接口设计分析

对应USB协议里面的标准接口描述符。通过该参数我们可以知道,接口有多少个端点。对于控制传输和等时传输,winusb分别提供了传输接口。。对于批量传输和中断传输,则统一使用一套接口。。上述接口都通过Overlapped机制来控制同步传输或者异步传输。可以通过修改管道策略,个性化的控制管道的行为。除了上述接口,winusb也提供了各种请求,可以灵活使用。比如可以获取接口的所有端点信息等。

2023-02-23 11:28:47 971

原创 【USB】USB video class (UVC)相关概念学习

标准的视频控制接口描述符,和USB标准接口描述符一样,如下,UVC的配置描述符和标准USB设备的配置描述符是一致的。字段协议和示例有差异。

2023-01-31 17:10:45 1593

原创 【USB】USB相关概念学习

USB 帧和微帧

2023-01-28 15:01:24 301

原创 【usb】设备的生命线

USB设备分配

2022-12-07 22:00:00 384

原创 【USB】macOS usb内核驱动开发入门

【代码】【USB】macOS usb内核驱动开发入门。

2022-11-19 23:01:55 1953

原创 【OpenHarmony】napi基本用法之promise实现

promise是javascript语言中的一个对象,其可以表示一个异步操作的成功或者失败。promise的优势是链式调用,在过去,要想做多重的异步操作,会导致经典的回调地狱。有了promise的链式调用,就可以把回调绑定到返回的 Promise 上,形成一个 Promise 链。console . log('初始化');throw new Error('有哪里不对了');console . log('执行「这个」”');console . log('执行「那个」');

2022-11-07 21:39:43 1450

原创 【工具使用】在线工具集锦

https://cppinsights.io/

2022-11-07 16:12:16 133

原创 【OpenHarmony】napi基本用法----HelloWorld

【代码】【OpenHarmony】napi基本用法----HelloWorld。

2022-10-04 20:49:44 1183

原创 【OpenHarmony】napi基础知识学习

napi_value。

2022-10-04 17:22:43 1579

原创 【OpenHarmony】系统应用权限管控与签名

底层由BundleMgr提供了判断是否是三方应用的能力。上层是否是系统应用取决于签名时的字段,如果是则为普通应用,是则为系统应用。

2022-09-15 21:51:14 2925 8

原创 【安卓】aosp内核源码下载(msm)

【安卓】aosp内核源码下载。

2022-07-17 10:58:33 1516

原创 【OpenHarmony】usb gadget 配置hdc功能cfg文件解读

OpenHarmony configfs 配置usb gadget的hdc功能。cfg文件解读

2022-06-19 22:42:54 1866 3

原创 【linux】windows terminal配置远程linux环境自动登录

一、实现ssh脚本自动登陆目的通过windows terminal实现自动登陆云端机器。做法需要windows安装了wslwsl安装了expect将如下内容,保存为"autossh.ssh",放在wsl的路径下/home/wuchw/private/autossh.sh注意里面的wuchengwen 192.168.1.1 及22改成自己的账户、IP及端口号给予可执行权限chmod +x autossh.sh#!/usr/bin/expect -fspawn ssh w

2022-05-17 10:35:16 2348

原创 【wsl2】常用命令及ext4硬盘扩展与压缩

首先扩展硬盘微软官方这篇文章写的很详细,我就不在赘述了:扩展 WSL 2 虚拟硬盘的大小压缩硬盘首先说一下使用场景。比如我想要下载一套aosp的代码,首先我从国内镜像站点,下载一个压缩包,包含了所有aosp代码。压缩包大小181G。完了我再把这个压缩包解压,解压的时候发现wsl2的磁盘太小了,解压失败,所以就扩展磁盘大小到512G.解压完成,删除压缩包,wsl剩余的空间很大,但是物理机剩余硬盘空间太少了。所以我要释放部分wsl硬盘。压缩操作如下:首先在wsl里面执行fstri..

2022-05-15 12:37:31 2726 2

原创 【usb】安卓usb网络共享(RNDIS)

一、RNDIS简介微软官方对RNDIS的介绍说白了,就是将安卓设备作为一个网卡,通过USB连接到电脑上,供电脑上网。二、使用指导首先为了验证电脑上网确实走的是usb。先把你电脑上的网卡及网线拔了,wifi关了。并且确保此时电脑无法上网。然后把手机通过USB线连接到电脑上,在手机的设置里面搜索USB,找到类似USB共享网络,并打开开关。然后电脑就可以正常上网啦,试下看看能否打开百度。三、补充说明我们在讨论RNDIS,但是上述使用指导里面好像没有看到RNDIS的字眼呀,这是咋回事?

2022-04-09 14:39:37 30141 7

原创 【usb】USB Core功能解析(一)-------linux那些事儿之我是usb

文章目录一、drivers/usb目录结构一、drivers/usb目录结构usb目录下包含如下目录和文件:atm cdns3 class core dwc3 gadget image Kconfig misc mtu3 phy roles storage usbipc67x00 chipidea common dwc2 early host isp1760 Makefile mon musb ren

2022-04-04 19:11:43 2707

原创 【OpenHarmony】make_shared和make_unique失败时总会抛异常,和是否禁用异常无关

一、背景在项目代码里面有很多这种判断:handler_ = std::make_shared<UsbServerEventHandler>(eventRunner_, pms);if (handler_ == nullptr) { USB_HILOGE(MODULE_USB_SERVICE, "Init failed due to create handler error"); return false;}对此不同人有不同看法:有些人认为应该判空,防止后面使

2022-03-29 20:01:34 4558

原创 【usb】usb协议历史发展介绍-------linux那些事儿之我是usb

一、简介USB来自于intel,同时IBM,微软,等企业也参与的标准的建设。在历史发展中,USB为什么能够存活到现在?相比于串口,并口等,其最大的特点是:速度快,扩展能力强,易用性高。USB2.0最快达到480MB/s,USB3.0最快达到4.8GB/s。USB的各个版本都是兼容的。linux在2.6.31版本的内核中对USB3.0进行了支持。USB支持多功能的设备,也就是说一个设备可以同时有多个功能。这是通过在一个设备中包含多个接口,每个借口支持一个功能,来实现的。USB可以支持多

2022-03-26 22:39:31 1143

原创 【OpenHarmony】ohos_shared_library默认关闭了异常机制no-exceptions

文章目录一、背景二、探索1、BUILD.gn2、usbmgr.gni3、ohos.gni4、cxx.gni5、BUILDCONFIG.gn三、总结一、背景发现usb_manager仓下,usb_service.cpp文件里面,有些地方使用了make_shared方法来创建堆内存。并在后面通过判断指针是否为空,来判断内存是否申请成功,如下:handler_ = std::make_shared<UsbServerEventHandler>(eventRunner_, pms);if (

2022-03-19 11:34:42 10543

原创 【c/c++】打印uint8_t类型---nothrow---no-exceptions

1、通常打印uint8_t类型的时候,我们直接使用%u来打印。但是更加严谨的做法是使用%hhu来打印。详细说明参见cppreference2、我们new之后,应该对指针进行判空,判断new是否执行成功很多时候我们会直接这样写Xxx *obj = new Xxx();,但是这样写,当new执行失败后会抛出异常,而不是返回nullptr,所以后续的判空也就是无效的。正确的写法如下,应该给new标记nothrow,这样出错时就会返回nullptr:详细参考cppreference#include &

2022-03-18 17:13:26 6245

原创 【mac】iterm2配置出漂亮且好用的界面(持续更新)

一、安装oh-my-zsh首先按照这里说的,安装好zsh和oh-my-zsh同时可以配合这个视频食用。安转完后,界面已经很好看了。二、让界面更加炫酷brew install pfetch安装命令,可以查看机器的系统信息。可以把命令放在.zshrc文件的末尾,这样每次启动zsh的时候就会自动打印出这些信息。brew install neofetch这条命令也可以查看。curl zh-cn.wttr.in/xian 查看指定城市的天气情况,更多用法可以看wttr.in网站

2021-10-21 22:12:25 2579 2

原创 【c++新特性】lambda表达式原理剖析

一、基本概念lambda表达式,c++11开始加进来的新特性。二、语法讲解三、代码实践

2021-03-17 00:36:04 267

原创 【c++11 新特性系列】auto自动推倒

auto可以一条语句声明多个变量,但是这些变量类型必须相同。引用其实是使用引用的对象,特别是当引用被用作初始值的时候,真正参与初始化的其实是引用对象的值。此时编译器以引用对象的类型作为auto的类型。auto一般会忽略掉顶层const,对常量对象取地址是一种底层const如果希望推断出的auto类型是一个顶层const,需要明确指出。不能为非常量引用绑定字面值。...

2021-03-14 20:24:40 210

原创 【程序员的自我修养】目标文件里有什么--第三章学习笔记

文章目录3.1 目标文件的格式3.1 目标文件的格式#mermaid-svg-kohvJmyun0aVPKsm .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-kohvJmyun0aVPKsm .label text{fill:#333}#mermaid-svg-kohvJmyun0aVPKsm .node

2021-03-14 20:22:24 221 2

原创 【django】使用笔记

Django 使用笔记前言一、相关命令二、修改登录界面功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前言这里是我在...

2021-03-14 20:21:46 112

原创 js 复习笔记

1、重复声明相同变量,不会报错,如果第二次声明时没有赋值,那么其将保持原来的值:var carName = "porsche";var carName; carName的值是"porsche".2、可以使用+号连接字符串,如果将数字和字符串连接,那么首先会进行数学运算,然后进行字符串连接:var x = 3 + 5 + "8";//x = "88"3、x ** y 产生的结果与Ma...

2021-03-14 20:18:43 195 1

原创 【设计模式】观察者模式

设计模式分为三类:创建型、结构型、行为型。观察者模式属于行为型。在如下场景中,一个类的状态改变或者某个动作会触发另一个类的改变,如果不使用观察者模式,那么这两个类就会耦合在一块,如果需要被触发的类越来越多,那么程序就会越来越臃肿,越乱。观察者通过抽象通知接口,将订阅者和发布者隔离开,实现了结偶。...

2020-12-20 22:15:04 152

原创 【程序员的自我修养】编译和链接--------第二章学习笔记

build的四个过程:#mermaid-svg-lMOhEUJNSj0tvmrN .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-lMOhEUJNSj0tvmrN .label text{fill:#333}#mermaid-svg-lMOhEUJNSj0tvmrN .node rect,#mermaid-.

2020-12-20 16:17:39 243 1

最详细最牛逼cmake英文版教程,没有之一

英文版cmake教程,没有积分的朋友可以到https://cgold.readthedocs.io/en/latest/index.html 这里自行下载,免费的。

2020-08-09

IEEE Standard for a Software Quality Metrics Methodology

IEEE Standard for a Software Quality Metrics Methodology IEEE Std 1061™-1998 (R2009) IEEE标准,软件质量度量方法

2019-04-12

人月神话(the mythical man month)中文版+英文版

人月神话 the mythical man month 中文版和英文版都有

2019-02-26

unity virtual reality projects

unity virtual reality projects,英文原版,作者:jonathan linowes

2019-02-24

UML和模式应用(第3版)英文版

UML和模式应用(第3版)英文版,以下是它的所有信息: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Third Edition By Craig Larman Publisher : Addison Wesley Professional Pub Date : October 20, 2004 ISBN : 0-13-148906-2 Pages : 736

2019-02-24

数字图像处理,基于积分图的快速均值滤波,

基于积分图的快速均值滤波,数字图像处理,。。。。。。

2018-12-30

【数字图像处理】频域滤波,理想低通滤波器,高斯滤波器,巴特沃斯滤波器

数字图像处理,评语滤波,理想低通滤波器,高斯滤波器,巴特沃斯滤波器

2018-12-30

【数字图像处理】高斯滤波,通过可分离性进行加速

数字图像处理,高斯滤波,通过可分离性进行加速,。。。

2018-12-30

数字图像处理第三版_冈萨雷斯_中文版_英文版_英文版答案

中文版和英文版有些内容是不一样的,中文译者翻译时没有遵循原作者的意思,改变了部分习题,所以答案是英文版教材此题答案

2018-12-23

模式分类第二版(英文版)

原版课本,不是扫描版,很清晰,模式识别第二版,是英文版,英文版

2018-12-16

计算机组成原理+软件硬件接口+原书第五版

计算机组成组成与设计+软硬件接口+原书第五版+机械工业出版社+

2018-12-08

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?字数不够,字数不够,字数不够,字数不够,字数不够,字数不够

2018-11-22

c语言输入年月日,输出这是一年中的第几天

c语言 输入年月日 输出这是一年中的第几天,输入时需要英文输入法,输入格式如 2018,11,22 需要逗号隔开

2018-11-22

c语言打印出乘法表9*9

用c写的9*9乘法表,就是打印出乘法表,1*1 = 2,2*2 = 4那种

2018-11-22

软工原理与实践影印版第四版英文版课后答案-第4版-Shari Lawrence Pfleeger

软工原理与实践 影印版 第四版 英文版 课后答案 -第4版- Shari Lawrence Pfleeger

2018-11-22

数字图像空间滤波

数字图像的空间滤波处理,包括均值滤波、最大值、最小值、中值滤波、基本高通滤波、拉普拉斯、高频补偿

2018-10-21

直方图均衡

实现了数字图像的直方图均衡处理。 实验环境:c++、opencv+vs2017 博文地址:https://blog.csdn.net/C2681595858/article/details/82869787

2018-10-21

图像平移,缩放,旋转,偏移(vs2017+opecv)

实现了图像平移、缩放、旋转、偏移操作。 环境:vs2017+opencv 、c++语言 博文地址:https://blog.csdn.net/C2681595858/article/details/82824282

2018-10-21

cocos2dx HttpClient网络访问

里面是cocos2dx中HttpClient网络访问实验部分代码(classes和Resources)

2018-06-22

操作系统经典同步问题之读者写者问题

是线程同步问题的读者写者算法,包括读者优先和写者优先。里面有实验报告,详细说明了实验原理及执行过程,字数够了吗吗

2018-06-03

PostgreeSQL数据库中文学习手册

内容覆盖了所有postgreeSQL的语法和函数使用,且每个知识点后面都有示例说明,简单易懂,易上手,非常适合初学者。

2018-05-13

linux多线程程序实验,用不同线程完成一个矩阵乘法,以及子进程计算斐波那契数列,父进程输出结果

linux多线程程序实验,用不同线程完成一个矩阵乘法,以及子进程计算斐波那契数列,父进程输出结果

2018-05-07

linux系统进程间通信共享内存方式实现及简单命令解释器实现.zip

里面是两个实验,一个共享内存方式的进程间通信,另一个是shell命令解释器。两个都是linux版本的。

2018-04-30

linux系统fork创建子进程.zip

里面是三个实验,分别是fork创建子进程,各个进程之间的关系,并发还是同步,以及子进程复制父进程代码的说明

2018-04-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除