- 博客(112)
- 资源 (8)
- 收藏
- 关注
原创 数据结构---树
树定义1、n个节点组成的具有层次结构的集合2、每个节点有0个或多个子节点3、每个非根节点只有一个父节点4、除根节点,每个子节点可以分成多个不相交的子树概念定义:节点深度:节点到根节点的路径长度,称为这个节点的深度节点高度:父节点:子节点:兄弟节点:拥有共同父节点度:节点有多少个子节点称为这个节点的度祖先:后代:森林:多个互不相交的树组合构成一个森林树的分类:无序树:树的任意节点的子节点无顺序关系有序树:树的任意节点的子节点有顺序关系二叉树:任意节点最多只有2个节点的树代
2024-06-21 11:07:47
1036
原创 QSlider 的使用技巧
使用 void setTracking(bool enable) 接口开启或关闭滑动跟踪,通过设置 setTracking(false) 使信号 void valueChanged(int value) 在滑动过程中不被触发。对于 QSlider ,很常用的使用就是,实现 void valueChanged(int value) 的槽,从而实现修改滑块值的响应。但是信号 void valueChanged(int value) 在移动滑块过程中是连续触发的,我们常常需要的结果是滑动到目的点再处理,
2024-06-19 14:55:50
483
原创 qt基于QGraphicsView的屏幕旋转
注意:这里只有 MainWindow2 中的界面会旋转,如果创建一个新界面不属于 MainWindow2 ,那么他将按照原始的方向显示。
2024-06-19 14:36:01
525
原创 关于链路层的网络数据处理总结
例如 arp,udp,tcp,igmp等,都是网络层协议,这里我们可以自定义协议来完成自定义数据的通信linux下c语言使用mac地址进行socket通信raw_socket用mac地址进行通信实例(C语言)Linux小知识–原始套接字(raw socket)之自定义以太网帧发送与接收如何区分MAC地址是单播、组播还是广播地址。
2024-03-11 16:28:19
496
原创 关于在Windows上socket组播通信的一些问题
基本和linux上的socket编程一致,稍微有点区别以下是我测验可以使用的代码,客户端00。
2024-02-21 11:12:39
875
原创 http协议总结
无状态协议,不保存请求和回复状态。http请求http为短连接协议,每个请求独立建立tcp连接。可以通过使用来建立长连接。http回复状态码类型。
2024-01-25 09:49:41
448
原创 基于宝塔搭建Discuz!论坛
我是在我的虚拟机上安装图的宝塔虚拟机版本:Ubuntu 18.04安装完成之后在浏览器输入你的地址 https://你的域名(或IP):30990/ 登录宝塔然后去应用商店检查下图软件是否都安装,,没有安装就安装接下来创建一个站点这里只需要输入域名、选择数据库,选择php(我们之前安装图的)创建好后,访问站点http://你的域名(或ip)/index.html,如下显示下面就开始Discuz!的上传到站点。。。
2024-01-09 16:21:09
1071
原创 onvif协议笔记
可以看到,,生成的文件 MobileCodeWSSoap.nsmap 中有定义 namespaces,,将其引入到,,,程序中就可以了。,如下如,,,引入之后编译通过。stdsoap2.c 使用了 namespaces 全局变量,而头文件可以看到,定义的是一个数组,并且有外部声明。注意:stdsoap2.h 和 stdoap2.c 是从源码拷贝过来的。最终会生成,以下文件。
2023-12-18 15:29:59
465
原创 I2C总线(二)注册控制器
i2c适配器在硬件层面其实就是i2c控制器,因为跟芯片相关,一般内核会带对应厂商的芯片驱动,实现在i2c/busses中找好了。我们直接看代码,以imx6为例。
2023-12-18 00:25:52
469
原创 I2C总线(一)核心
硬件上,i2c总线由,i2c控制器、i2c总线、i2c设备组成。驱动代码将通过设置i2c寄存器,从而在总线上产生数据信息,来和i2c设备通信(读/写)。i2c核心,主要的功能包括:1、注册i2c总线类型(Linux设备驱动模型(二)总线,总线驱动和总线设备,有讲到),及定义其附属接口,比如注册i2c设备,注册i2c总线,等等。。。2、定义i2c总线软件上的规范,
2023-12-17 23:50:16
456
原创 C++模板编程和标准模板库(STL)
/ 使用class效果相同,// 为了不和类的定义发生歧义,尽量使用typedef// 也可以定义多个类型,但是定义了一定要用,否则报错。
2023-10-28 17:11:12
321
原创 tty(五)串口的打开过程
我们知道,在serial核心层提供了2个重要接口上者通过调用tty核心的接口,完成了tty_driver的动态分配和注册,然而此时并没有看到创建字符设备,通过对uart_add_one_port的分析,最终调用了tty核心的tty_register_device_attr接口tty核心层的tty_cdev_add接口最终完成了字符设备的注册工作,这里比较关注的是tty_fops。
2023-07-27 01:25:55
803
原创 关于使用scanf类型匹配的问题
上面例子实际给的是char型变量,那么每个ServerIP将会按照ServerIP及其后面3个字节组成的int赋值。原因:对scanf使用%d输入时,会认为后面给的参数未int型,将会按照int型对其地址赋值。使用scanf输入ip(字符串)转4字节数字。将会导致ServerPort前面3字节清零。
2023-07-24 09:35:52
100
原创 sqlite知识点总结
先总结一下结果,结果是参照网友【深寒色的猫丶】的结果表示感谢多个单列索引和联合索引的区别详解例如创建单列索引a,b,c联合索引a,b,c
2023-07-06 13:57:48
142
原创 tty(二)(imx serial)
总的来说,imx的串口驱动做了什么呢??,首先定义了一个struct uart_driver,调用serial核心的api uart_register_driver注册了这个struct uart_driver,,,然后匹配设备树,对每个uart(x)创建了一个struct uart_port,并调用uart_add_one_port将其添加到struct uart_driver。
2023-07-04 23:29:05
298
原创 MDIO总线
基于linux-3.14.16首先要搞清楚总线的位置,即硬件上的位置如上图,mdio总线是mac和phy之间的连接方式,主要用于配置配置phy的寄存器,所以phy应该是器的一类物理设备,mdio总线驱动和总线设备都是围绕phy工作的。
2023-05-21 01:21:43
2371
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人