TcpIp - transmit (一) 单socket不能并发TcpIp_UdpTransmit 进入关键区 检查perSocket的bool变量是否被设置 被设置说明有待发送的数据,此次不能发送 否则说明可以发送 若没有待发送的数据,则此次可以发送,并设置bool变量为true 每个socket结构有一个txReqList 每次发送将 2024-10-16 嵌入式-开发
Linux - mmap及四种映射类型 参考 bin的技术小屋 进程打开文件当进程打开一个文件的时候,内核会为其创建一个 struct file 结构来描述被打开的文件,并在进程文件描述符列表 fd_array 数组中找到一个空闲位置分配给它,数组中对应的下标,就是我们在用户空间用到的文件描述符 而 struct file 结构是和进程相关的( fd 的作用域也是和进程相关的),即使多个进程打开同一个文件,那么内核会为每一个进程创建一 2024-10-16 操作系统
技巧 - 链表操作 合并两个有序链表 148. 排序链表 25. K 个一组翻转链表 707. 设计链表 使用二级指针来标记前驱节点的next地址123456789101112131415161718192021222324ListNode* merge(ListNode* l, ListNode* r){ ListNode* head = ((l->val <= r->val) ? l 2024-10-15 刷题记录
LW-DDS (一) stack-refactor 分支 简要说明 期望实现支持多participant,多核多线程。限制🚫如下: 每个pp有一个接收线程;后续应该也要有一个timer线程 每个pp只会监听两个地址: well-known address: 239.255.0.1:7400 -> 可以配置不监听 specific unicast address 🈲止所有的内存动态申请与释放 Linux 2024-10-01 嵌入式-开发
Fast-DDS (一) 版本说明 Fast-DDS: 2.12.0 Fast-CDR: 2.1.0 Tinyxml2: 6.0.0 Fast-DDS-Gen: v3.1.0 Fast-DDS well-known策略每个参与者都会创建一个接收线程监听well-knwon的ip/port「239.255.0.1/7400」;多线程在创建socket,bind之前使用「SO_REUSEPORT」参数进行 2024-09-30 嵌入式-开发
Linux - RCU 参考博客 Linux内核同步机制之(七):RCU基础 Linux内核同步机制之(七):RCU基础 深入理解RCU核心原理 Linux RCU 原理剖析(一) Linux RCU 原理剖析(二) 简介每种兵器都有自己的适用场合,内核同步机制亦然. 并行程序设计演进如何正确有效的保护共享数据是编写并行程序必须面临的一个难题,通常的手段就是同步。同步可分为阻塞型同步(Blocking Synchron 2024-09-29 操作系统
几种开源的TCP-IP协议栈 LwIPFreeRTOS TCPIP UDP/TCP分离,可以仅支持UDP uIPBSD TCPIPmongoosehttps://github.com/cesanta/mongoose/blob/master/mongoose.c FNEThttps://github.com/butok/FNET/ 2024-09-29 嵌入式-开发
动规 - 树形DP 难点一 从上往下计算:dfs时要传入多个参数 从下往上计算:dfs返回多个值 网友评论这种题的话,需要实现节点之间信息的交流,二叉树有3种遍历,那就有3种信息交流的方式,前序的「自上而下」,后序的「自下而上」,中序的「左上右下」 从下往上 - 后序遍历968. 监控二叉树 代码随想录 根据题目要求,这题选用后续遍历是传递信息的最佳选择。需要传递的信息有三种:1.要求父节点安装相机;2.说自己有相 2024-09-24 刷题记录
技巧 - 下标参与运算时 简介下标参与val值的计算: 组合评分为:val[i] + val[j] - abs(j - i) 例题1014. 最佳观光组合这个题目比较简单:一次遍历,记录每个点作为左观光点时的最大值「mp = max(val[i] + i)」,以当前点均作为右侧观光点「mn[j] = val[j] - j」,更新最值「max(mn[j]+mp)」以及mp 1937. 扣分后的最大得分解法和上一题有异曲同 2024-09-23 刷题记录