- 博客(123)
- 收藏
- 关注
原创 编译内核的时候出现script/dtc-parser.tab.o multiple definition of `yylloc` ;script/dtc/dtc/lexer.lex.o 错误
编译内核时解决"multiple definition of yylloc"错误的方法 在编译Linux内核时出现"script/dtc-parser.tab.o multiple definition of yylloc"错误,可通过以下步骤解决: 打开文件:script/dtc/dtc-lexer.l 找到代码行:YYLTYPE yylloc; 在该行前添加extern关键字 保存文件后重新编译 此修改将声明yylloc为外部变量,避免多重定义冲突。该方法适用于内
2025-08-28 10:02:25
237
原创 SIP协议抓包分析
摘要:本文介绍了Wireshark网络封包分析工具及其在SIP协议分析中的应用。SIP作为应用层信令控制协议,其消息结构包括起始行、消息头和消息体。文章详细解析了SIP请求行与状态行、六种标准方法(INVITE、ACK等)以及12个关键消息头字段(如Via、Call-ID等)的功能与应用。通过Wireshark抓包实例,展示了SIP呼叫流程中的INVITE请求和200 OK响应消息的具体结构,包括会话描述协议(SDP)参数。最后提供了完整的SIP呼叫流程图,帮助理解SIP会话建立过程。
2025-07-18 09:44:57
1132
原创 leetcode 725 分割链表
摘要: LeetCode 725题要求将链表分割成k个连续部分,使各部分长度差不超过1。解题步骤:1)计算链表总长度;2)确定每部分基础长度(length/k)和前extra(length%k)部分需多1个节点;3)遍历链表,按计算长度分割并断开连接。该方法保证前extra部分更长,时间复杂度O(n+k),空间复杂度O(k)。适用于均匀分割链表的场景。
2025-07-16 16:21:00
234
原创 Centos7启动与禁用网卡网卡操作
本文介绍了CentOS7系统中网卡管理的基本操作。主要内容包括:1)使用ifconfig命令查看网卡信息;2)通过ifconfig eth1 down/up指令禁用和启用以太网卡;3)网卡配置文件位于/etc/sysconfig/network-scripts目录;4)重启网络的两种方式(network.service或NetworkManager.service);5)临时配置网卡IP的方法示例。这些操作涵盖了网卡管理的基本需求,包括查看状态、启停控制、配置修改和网络重启等核心功能。
2025-07-03 18:22:19
597
原创 vscode百宝箱工具插件(devtools)
VSCode百宝箱插件(devtools/TreasureBox) 是一款集成多种实用工具的插件,旨在提升开发效率。该插件直接嵌入VSCode,无需额外搜索工具,功能包括:UUID生成、Base64编码/解码、字符串MD5/SHA1/SHA256计算、正则表达式测试、JSON格式化、时间戳与日期转换、UTC时间显示、JSON转C++类以及JSON转Python接口。安装后,用户可通过左侧活动栏图标快速访问各项功能,操作简便,支持自动复制到剪贴板。插件已在VSCode插件市场和GitHub上发布,开发者可轻松
2025-05-13 16:45:01
612
原创 leetcode 旋转链表
2、根据题目的提示,k可能很大,远超链表的长度,这样就会导致一种情况,比如 k = 1000,len = 999,每个节点向右移动 1 个节点和向右移动 k = 1000 个节点结果一样,所以进行一个取模的操作可以节省大量的移动操作。3、接下来设置两个指针 former、latter 均指向链表的头节点,这两个指针的目的是去寻找出旋转之前的尾节点位置、旋转成功之后的尾节点位置。6、这个时候,从 head 到 latter 有 len - k 个节点,latter + 1 到 former 有 k 个节点。
2025-03-10 15:28:33
434
原创 leetcode 插入区间
遍历原列表,对于第一种、第三种情况,直接将原区间加入结果集;对于第二种交集情况,使用 A、B、X、Y 更新新区间的初始和末尾元素,之后加入结果集。原区间列表已经排序,那么插入的新区间跟列表中的每一个原区间只会存在三种位置情况,假设当前某一原区间为 [A, B] ,新区间为 [X, Y]
2025-02-27 10:28:42
297
原创 leetcode 盒子中小球的最大数量
解题思路: 这道题是一个基础的题, 首先先写一个digitSum求每个数字各位的和的函数, 先创建一个无序的哈希表, 循环遍历一下数字,求每个数字的和, 然后把哈希表的key进行++, 最后取出哈希表中最大的value。这是一个正整数求和的函数是这样写的, 那么要是有负数的话应该怎么写这个函数呢?答案在下面,建议先自己思考一下。
2025-02-13 10:46:11
276
原创 leetcode 有序数组的平方
如果A[i] * A[i] >= A[j] * A[j] 那么result[k–] = A[i] * A[i];如果A[i] * A[i] < A[j] * A[j] 那么result[k–] = A[j] * A[j];定义一个新数组result,和A数组一样的大小,让k指向result数组终止位置。那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。数组其实是有序的, 只不过负数平方之后可能成为最大数了。此时可以考虑双指针法了,i指向起始位置,j指向终止位置。
2025-02-12 16:25:36
272
原创 vscode自动打印日志插件
是一款 VS Code 扩展,用于简化生成调试日志的过程。它可以为选中的变量自动生成打印语句,帮助开发者快速记录和调试代码。该扩展支持多种流行编程语言,包括 Java、Python、JavaScript、Go 和 Rust。
2024-11-25 20:41:17
1374
原创 vscode主题插件(AuroraWaterTheme)
看网上的主题插件太多了, 自己喜欢的在多个插件上,不想安装过多的主题插件就自己写了一个, 有不足的话网友们帮助提出来, 一直在优化!目前插件已经上传到vscode插件市场上面了,大家搜索Aurora__Theme, 为什么叫这个名字呢,因为不带下划线的名字被占用了。最后希望大家给一个star被, 这样才能有动力去维护,大家免费使用!
2024-11-20 19:56:09
1273
1
原创 7bit与8bit编码互相转换
7-bit编码压缩时,每个字符占用7位,它们被紧凑地打包在8-bit单元中。当将这些数据解码回8-bit时,我们需要按照7位的方式从每个字节中提取出相应的字符,并重建完整的8-bit编码。假设你提供了7-bit编码后的hello数据(7-bit压缩后的数据:0x68, 0x65, 0x6C, 0x6C, 0x6F),解码后将会还原出原始的"hello"字符串。
2024-10-18 10:06:14
1522
1
原创 c++开源项目推荐
1.https://github.com/amhndu/SimpleNES2.https://github.com/Light-City/CPlusPlusThings3.https://github.com/TheAlgorithms/C-Plus-Plus4.https://github.com/changkun/modern-cpp-tutorial5.https://github.com/wuye9036/CppTemplateTutorial6.https://github.com/Al
2024-09-20 21:18:14
456
原创 sar命令实时监控网络设备的状态
sar -n DEV 1 是一个常用的 Linux 命令,用于实时监控网络设备的状态。sar 是系统活动报告(System Activity Reporter)的缩写,它提供了多种系统性能监控工具。每隔 1 秒会有一行新的数据输出,以反映网络设备的当前状态。这对实时监控网络流量、排查网络性能问题非常有用。rxpck/s 和 txpck/s 分别表示每秒接收和发送的包数量。rxkB/s 和 txkB/s 分别表示每秒接收和发送的千字节数。lo 和 eth0 是网络接口的名称。时间戳表示采样的时间点。
2024-07-09 10:52:45
1232
原创 leetcode 66. 加一
刚开始只是以为在最后一位上加一就可以了 , 没想到还有进位呢, 比如说9的话, 加上1就是10, 返回的数组就是[1. 0],把进位的情况考虑进去就可以了。
2024-07-07 12:41:50
360
原创 LeetCode 剑指 Offer 10- I. 斐波那契数列
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为 1。注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[n-2]]。
2024-07-07 12:25:05
219
原创 linux系统配置之单一网卡配置多个不同网段IP(centos)
1、可能一台服务器不只有一个网卡,在 /ect/sysconfig/network-scripts/该目录下可能看见eth1,eth2等一系列文件,切勿将新添加的IP配置到该文件内,以免造成不必要的麻烦,本人走过弯路,浪费了不少时间。shell命令:cp ifcfg-eth0 ifcfg-eth0:1(其中ifcfg-eth0:1为单网卡上第二ip配置文件名,如要配置第三个ip,则可复制文件名ifcfg-eth0:2,想在单网卡上设置跟多ip,文件名以此类推)3、编辑第二IP配置文件。
2024-05-10 09:58:27
1416
原创 mysql连接报错 1045 - Access denied for user ‘root‘@‘root@XXXX‘ (using password: YES)
首先在服务器上面 登录上MySQL, 这一步可以的话可以使用这种方式。
2024-05-10 09:40:13
325
原创 前端框架-echarts
项目中要使用到echarts框架,从零开始在csdn上记笔记。// type: 'bar', //这是柱状图。//使用刚指定的配置项和数据显示图表。这是一个基础的代码,小白入门看一下。'ECharts 入门示例'//指定图标的配置与数据。
2024-05-06 11:43:44
726
原创 python编解码16进制码流
目前在做python + vue写网站,最近遇到了用python代码编解码16进制的码流,与c语言程序进行交互自己写了一个简易版的客户端与服务端的python代码,利用到了 struct socket库,因为使用的是udp,所以就简单的调用一下库。
2024-04-25 20:22:36
487
2
原创 vscode配置vue + python
目前已经转python(django) + vue2全栈开发,虽然C++, c的项目目前也在维护今天在配置vscode的vue2 + django的环境的时候发现打错了代码之后不报错。
2024-04-07 17:46:58
446
原创 GORM框架增删改查
当 First、Last、Take 方法找不到记录时,GORM 会返回 ErrRecordNotFound 错误,可以通过对比gorm.ErrRecordNotFound进行判断,或者使用Find和Limit的组合进行查询。同样的道理,不带条件不能进行删除,必须加一些条件,或者使用原生 SQL,或者启用 AllowGlobalUpdate 模式。函数说明: db.Where(query interface{}, args …Group函数必须搭配Select函数一起使用。通过db.Where函数设置条件。
2024-02-28 11:04:38
902
原创 GORM框架快速入门
前面入门案例中,我们定义了User结构体用来和数据表users做映射,User结构体,我们称之为数据模型,在gorm框架中,操作数据库需要预先定义模型。底层都是使用的golang的database标准库,利用反射原理,执行读写操作时,将结构体翻译为sql语句,并将结果转化为对应的模型。假设有一个商品表`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID,商品Id',
2024-02-28 10:16:31
1387
原创 原生GO开发的博客系统
import ("time"Pid int `json:"pid"` // 文章IDTitle string `json:"title"` // 文章IDSlug string `json:"slug"` // 自定也页面 pathContent string `json:"content"` // 文章的htmlMarkdown string `json:"markdown"` // 文章的MarkdownCategoryId int `json:"categoryId"` //分类id。
2024-02-28 09:36:15
1246
原创 mysql++库常用
在实际应用中,可以根据具体的需求选择使用哪种方法,或者在适当的情况下结合使用这两种方法。例如,可以在程序启动时使用。mysql++库里面的 connected()方法和ping()方法的区别。检查连接状态,然后在程序运行过程中定期使用。是用于检测连接状态的两种不同方法。
2024-02-26 11:46:27
762
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅