会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
d-l-study
博客园
首页
新随笔
联系
订阅
管理
2026年2月12日
2.11学习
摘要: 1、STL的hashtable的本质是一个vector的哈希桶,桶的数量一直是质数,当需要扩容的时候就还是质数,每个哈希桶中都储存着一个双向链表,这样,如果有两个不同的元素通过哈希函数得到同一个哈希桶的值,那么这两个元素就储存在双向链表中,这样做是为了防止哈希冲突 如果桶中的链表长度超过了预定的阈值
阅读全文
posted @ 2026-02-12 00:22 dd_l
阅读(2)
评论(0)
推荐(0)
2026年2月10日
2.10学习
摘要: 1、vector,deque由于是内存连续,所以查找效率高,但是如果插入删除的话涉及到内存的移动,故效率比较低O(N),list的插入较简单,查找较复杂,而map,set底层是红黑树,效率比较稳定O(logn) 2、对于vector,deque进行删除元素时,迭代器会失效(因为涉及到内存移动),所以
阅读全文
posted @ 2026-02-10 23:31 dd_l
阅读(1)
评论(0)
推荐(0)
2026年2月9日
2.9学习
摘要: 1、unorder_map是通过哈希表实现,相对map通过红黑树实现,unorder_map查找的效率更高,但是如果好多键值通过哈希函数得到的都是一个值(极端情况),那查找效率就会降低 unorder_map和unorder_set本质上相同,都是哈希表实现,不过unorder_set中key就是v
阅读全文
posted @ 2026-02-09 14:12 dd_l
阅读(0)
评论(0)
推荐(0)
2.8学习
摘要: 1、map和set底层都是红黑树,对于平衡二叉树和红黑树而言 平衡二叉树和红黑数都是防止出现"树一直添加左孩子或有右孩子变成链表的情况",在插入时可以进行左旋右旋变的更加均衡,二者中平衡二叉树的查找效率最高(因为左右子树的高度差距不超过1),但是插入效率较低(要不断左右旋),而对于红黑树,最长的路径
阅读全文
posted @ 2026-02-09 00:40 dd_l
阅读(1)
评论(0)
推荐(0)
2026年2月8日
modbus学习第6天
摘要: 继续之前用Qt做的那个代替主站对从站的4大寄存器写入读取的程序,我总共封装了两个类,一个是ModbusPro(只是用来管理ui),一个是ModbusMaster(用来连接从站,写入,读取数据) 本来我是想着用多线程,主线程更新ui,子线程用来连接从站,然后后面越改bug越多,经常出现野指针的问题,我
阅读全文
posted @ 2026-02-08 10:49 dd_l
阅读(1)
评论(0)
推荐(0)
2026年2月5日
modbus学习第5天
摘要: 今天用Qt实现一个可以通过modbus对线圈寄存器--读写单个寄存器和多个寄存器,离散寄存器--读单个和多个寄存器,保持寄存器--读写单个寄存器和多个寄存器,输入寄存器--读单个和多个寄存器的功能,大概是这么个效果,ui设计好了 用单例模式设计了一个ModbusMaster的类用于连接从站设备以及对
阅读全文
posted @ 2026-02-05 20:29 dd_l
阅读(2)
评论(0)
推荐(0)
2.5学习
摘要: 1、function封装lambda表达式,本来lambda表达式是个匿名函数,通过function可以给lambda赋名 <int(int)>表示返回值为int,传入的参数为int,且这里的&不能改为=,因为第一步fatoral是空的,当执行到fatoral=[&fatoral](int n){}
阅读全文
posted @ 2026-02-05 10:58 dd_l
阅读(2)
评论(0)
推荐(0)
2026年2月4日
2.4学习
摘要: 1、原子操作:在线程中保护某个数据不被多个线程共享修改,保证在一个线程结束后才能被另一个线程使用 比如count++会先读取,后进行++,最后再放回寄存器,在这个过程如果有其他线程参与就会混乱 atomic count_atomic(0); 定义count_atomic变量为原子变量不被多线程影响,
阅读全文
posted @ 2026-02-04 12:44 dd_l
阅读(8)
评论(0)
推荐(0)
2026年2月3日
学习modbus第四天
摘要: 实现了modbus在VS上的环境配置,首先将modbus在github上下载下来"libmodbus.org" 下载好了到这个路径下 然后双击运行configure.js进行环境配置,如果双击不行再打开cmd转到当前目录下运行这个命令--cscript configure.js 配置好了会出现一个.
阅读全文
posted @ 2026-02-03 11:34 dd_l
阅读(2)
评论(0)
推荐(0)
2026年2月1日
学习Modbus的第三天
摘要: 具体功能码 一般用RTU模式进行开发,接下来实现一个示例:读取设备地址为3的从设备B的线圈状态寄存器,线圈地址为19到55(37个地址) 主站发送的请求包格式为--"设备地址+功能码+寄存器起始地址(高位+低位)+寄存器数量(高位+低位)+CRC校验位" 设备地址为0X03,功能码为0X01,寄存器
阅读全文
posted @ 2026-02-01 16:53 dd_l
阅读(10)
评论(0)
推荐(0)
下一页
公告