当前位置: 首页 > article >正文

Linux Deadline 调度器的任务出队:dl_dequeue_task 的实现

简介在 Linux 内核调度体系中SCHED_DEADLINE作为硬实时调度策略依托EDF 最早截止时间优先与CBS 恒定带宽服务器两大核心算法承载着工业控制、自动驾驶域控制器、航空航天实时测控、5G 基带处理、专业音视频低延迟编解码等对时间确定性、调度抖动要求严苛的核心业务。调度器的运行本质就是任务入队、任务调度、任务出队三大闭环流程。如果说enqueue_task_dl负责把就绪 Deadline 任务挂载到 CPU 私有 dl_rq 红黑树队列那么 **dl_dequeue_task及上层封装的dequeue_task_dl** 就是任务生命周期的反向关键链路当 Deadline 任务阻塞、休眠、执行完毕、被迁移至其他 CPU、调度策略变更时必须从当前 CPU 的 Deadline 运行队列中安全摘除、更新队列计数、刷新 earliest_dl 最早截止时间缓存、维护实时带宽状态同时处理任务非竞争过渡态。很多内核开发者、嵌入式实时工程师只关注 Deadline 任务入队与调度抢占逻辑却忽略任务出队环节。一旦dl_dequeue_task流程处理不当会引发 dl_rq 计数错乱、earliest_dl 缓存脏数据、红黑树节点野指针、实时带宽泄漏、任务死锁抢占异常等疑难问题。深入吃透dl_dequeue_task底层执行流程、源码实现、分支逻辑、边界处理是读懂 Linux Deadline 调度器全链路、排查实时调度抖动、内核二次裁剪定制、撰写学术论文与工程技术报告的核心必修课。本文以资深 Linux 内核工程师视角从基础概念、环境搭建、源码逐行剖析、实操案例、问题排查到最佳实践完整落地全程附带可直接编译运行的代码与调试命令无套话 AI 文风完全贴合一线内核研发研读与工程落地需求。一、核心概念与术语解析1.1 Deadline 调度器基础架构Linux 内核为每一个 CPU 维护独立的运行队列 struct rq每个 rq 内部划分三类调度子队列CFS 普通公平调度队列cfs_rqRT 实时静态优先级队列rt_rqDeadline 硬实时调度队列dl_rq本文聚焦dl_rq队列的任务出队逻辑所有dl_dequeue_task操作均绑定当前 CPU 私有调度队列多核之间队列完全隔离。1.2 关键结构体定义1.2.1 每个 CPU 专属 Deadline 运行队列// kernel/sched/sched.h struct dl_rq { struct rb_root rb_root; /* DL任务红黑树根按dl_deadline升序排序 */ struct sched_dl_entity *earliest_dl; /* 缓存队列最早截止时间任务 */ unsigned int nr_running; /* 就绪DL任务计数 */ struct dl_bandwidth dl_bw; /* 实时带宽管控结构体 */ struct timer_list dl_timer; /* 带宽节流定时器 */ };nr_running、earliest_dl是任务出队时必须同步维护的两个核心字段。1.2.2 Deadline 调度实体每个 SCHED_DEADLINE 任务内嵌调度实体作为红黑树挂载节点struct sched_dl_entity { struct rb_node rb_node; /* 红黑树节点 */ u64 dl_deadline; /* 任务当前截止时间 */ u64 dl_runtime; /* 周期内CPU占用时长 */ u64 dl_period; /* 任务调度周期 */ u64 dl_remaining; /* 剩余可用运行时间 */ int dl_non_contending;/* 非竞争状态标记 */ };任务出队时不仅要摘除 rb_node还要维护dl_non_contending状态标记。1.3 任务出队触发场景dl_dequeue_task不会主动调用由内核调度框架在以下场景自动触发任务阻塞休眠调用sleep、wait、信号量等待主动放弃 CPU任务时间片耗尽CBS 带宽管控触发任务暂停退出就绪队列任务 CPU 迁移从当前 CPU 迁移到其他 CPU 核心需先出队再入队目标 CPU调度策略变更从 SCHED_DEADLINE 改为 CFS/RT必须摘除 DL 队列任务终止退出进程消亡清理调度资源移出 DL 就绪队列。1.4 出队核心职责dl_dequeue_task及底层封装函数要完成 5 件核心事把任务调度实体从 dl_rq 红黑树中移除递减 dl_rq 就绪任务计数nr_running若被摘除任务是earliest_dl指向节点重新刷新最早截止缓存维护任务非竞争状态与实时带宽占用标记清理可推送任务链表避免残留野指针与队列脏数据。二、环境准备2.1 软硬件环境规格环境项版本 / 配置要求宿主机系统Ubuntu 20.04 / 22.04 64 位内核版本Linux 5.15、6.1、6.6 长期稳定版硬件架构x86_64 4 核 8G 及以上支持内核调试编译工具链gcc 9.4、make、bison、flex、libssl-dev调试分析工具gdb、kgdb、perf、trace-cmd、ftrace、readelf2.2 内核源码编译与配置1. 安装编译依赖sudo apt update sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev -y2. 下载解压 Linux 6.1 LTS 内核wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.tar.xz tar -xf linux-6.1.tar.xz cd linux-6.13. 配置内核必选开关cp /boot/config-$(uname -r) .config make menuconfig必须开启以下配置CONFIG_SCHED_DEADLINEy CONFIG_DEBUG_KERNELy CONFIG_SCHED_DEBUGy CONFIG_FTRACEy CONFIG_KGDBy保存退出配置界面。4. 编译安装内核make -j$(nproc) sudo make modules_install sudo make install sudo update-grub重启系统在 GRUB 菜单选择新编译内核进入。2.3 核心源码路径Deadline 调度器出队逻辑全部集中在kernel/sched/deadline.c // dequeue_task_dl、__dequeue_task_dl、dl_dequeue_task 核心实现 kernel/sched/sched.h // dl_rq、sched_dl_entity 结构体定义三、应用场景Deadline 任务出队机制是工业实时 Linux 稳定性的底层保障。工业机器人多伺服控制场景中单个轨迹规划任务阻塞等待传感器数据时必须通过dl_dequeue_task快速移出就绪队列更新 CPU 运行队列计数与 earliest_dl 缓存让更早截止的故障检测任务立刻抢占 CPU保证运动控制时序不紊乱。自动驾驶域控制器中环境感知任务周期结束主动出队释放调度队列资源避免无效占用红黑树节点造成调度遍历开销累积。5G 基站基带实时任务、轨道交通信号测控、医疗设备实时控制等场景下大量 DL 任务频繁休眠、唤醒、迁移依赖严谨的任务出队逻辑维护队列一致性、带宽统计与调度缓存防止 nr_running 计数漂移、earliest_dl 缓存失效引发的调度优先级错乱、任务超时丢帧、系统实时抖动超标等线上故障。四、实际案例与源码深度剖析4.1 调度框架出队总入口dequeue_task_dl内核调度类统一接口所有 DL 任务出队都从该函数入口// kernel/sched/deadline.c static void dequeue_task_dl(struct rq *rq, struct task_struct *p, int flags) { /* 更新当前正在运行DL任务的运行时长统计 */ update_curr_dl(rq); /* 底层真正执行出队核心逻辑 */ __dequeue_task_dl(rq, p, flags); /* 标记任务不在就绪队列触发调度时机检测 */ if (flags DEQUEUE_SLEEP) p-sched_class-task_dead(rq, p); }代码注释说明update_curr_dl刷新当前 CPU 正在运行 Deadline 任务的剩余时间、带宽统计出队前必须做状态快照__dequeue_task_dl私有底层函数封装红黑树删除、队列计数、earliest_dl 刷新DEQUEUE_SLEEP标记代表任务主动休眠走完出队后标记任务死亡调度状态。4.2 底层核心__dequeue_task_dl 实现static void __dequeue_task_dl(struct rq *rq, struct task_struct *p, int flags) { struct sched_dl_entity *dl_se p-dl; /* 1. 从DL调度实体容器中摘除任务 */ dequeue_dl_entity(dl_se); /* 2. 从可推送DL任务链表移除 */ dequeue_pushable_dl_task(rq, p); }整个出队拆分为两个原子步骤摘除调度实体、清理推送链表分工明确降低代码耦合。4.3 dequeue_dl_entity 红黑树移除与队列维护这是dl_dequeue_task最核心的底层实现完成红黑树删除、计数递减、earliest_dl 刷新static void dequeue_dl_entity(struct sched_dl_entity *dl_se) { struct dl_rq *dl_rq dl_rq_of_se(dl_se); /* 1. 从dl_rq红黑树中删除当前任务节点 */ rb_erase(dl_se-rb_node, dl_rq-rb_root); /* 2. 就绪任务计数减1 */ dl_rq-nr_running--; /* 3. 关键分支删除的是最早截止任务必须重新刷新缓存 */ if (dl_se dl_rq-earliest_dl) { dl_rq_update_earliest_dl(dl_rq); } /* 4. 设置任务非竞争状态保留带宽不立即回收 */ dl_se-dl_non_contending 1; }逐行逻辑解析rb_erase标准内核红黑树删除接口自动做树平衡保证后续遍历正常nr_running--维护队列任务统计供调度器判断队列是否为空分支判断是内核极致性能优化只有删掉的是当前最早截止任务才调用 O (logN) 的刷新函数普通任务出队不改动 earliest_dl避免无效遍历dl_non_contending1任务出队后不立即释放 CPU 带宽进入ActiveNonContending过渡态短时间内唤醒可直接复用带宽保障实时性不被带宽节流破坏。4.4 dl_rq_update_earliest_dl 缓存刷新函数任务出队命中最早截止节点时调用该函数重新查找红黑树最左节点static void dl_rq_update_earliest_dl(struct dl_rq *dl_rq) { struct sched_dl_entity *dl_se NULL; struct rb_node *node; /* 无就绪任务置空缓存指针 */ if (!dl_rq-nr_running) { dl_rq-earliest_dl NULL; return; } /* 红黑树按截止时间升序最左节点就是最小值 */ node rb_first(dl_rq-rb_root); dl_se rb_entry(node, struct sched_dl_entity, rb_node); /* 刷新全局最早截止缓存 */ dl_rq-earliest_dl dl_se; }4.5 用户态编写测试程序模拟任务出队编写可直接编译的测试代码创建 Deadline 任务通过休眠触发内核dl_dequeue_task出队流程#include stdio.h #include stdlib.h #include unistd.h #include linux/sched.h #include sys/syscall.h #include signal.h #define RUNTIME 100000 #define PERIOD 1000000 static int sched_setattr(pid_t pid, struct sched_attr *attr, unsigned int flags) { return syscall(SYS_sched_setattr, pid, attr, flags); } void sig_handler(int sig) { printf(Recv signal, exit task\n); exit(0); } int main(void) { struct sched_attr attr; int ret; signal(SIGINT, sig_handler); attr.size sizeof(attr); attr.sched_policy SCHED_DEADLINE; attr.sched_flags 0; attr.sched_runtime RUNTIME; attr.sched_deadline PERIOD; attr.sched_period PERIOD; ret sched_setattr(0, attr, 0); if (ret 0) { perror(sched_setattr fail); return -1; } printf(DL task running, will sleep trigger dequeue\n); // 休眠触发任务阻塞内核自动调用dl_dequeue_task出队 while(1) { sleep(2); } return 0; }编译运行命令gcc dl_dequeue_test.c -o dl_dequeue_test sudo ./dl_dequeue_test实操说明程序执行 sleep 主动放弃 CPU内核调度框架感知任务阻塞自动走入dequeue_task_dl - __dequeue_task_dl - dequeue_dl_entity完整出队链路。4.6 Ftrace 跟踪任务出队内核调用栈可直接复制执行跟踪 dl_dequeue_task 相关函数调用流程# 挂载debugfs sudo mount -t debugfs none /sys/kernel/debug # 清空跟踪缓存 sudo echo /sys/kernel/debug/tracing/trace # 过滤跟踪关键函数 sudo echo dequeue_task_dl /sys/kernel/debug/tracing/set_ftrace_filter sudo echo __dequeue_task_dl /sys/kernel/debug/tracing/set_ftrace_filter sudo echo dequeue_dl_entity /sys/kernel/debug/tracing/set_ftrace_filter sudo echo dl_rq_update_earliest_dl /sys/kernel/debug/tracing/set_ftrace_filter # 开启函数跟踪 sudo echo function /sys/kernel/debug/tracing/current_tracer sudo echo 1 /sys/kernel/debug/tracing/tracing_on新开终端运行测试程序sudo ./dl_dequeue_test停止跟踪并查看日志sudo echo 0 /sys/kernel/debug/tracing/tracing_on sudo cat /sys/kernel/debug/tracing/trace通过日志可清晰看到任务休眠瞬间触发全套出队函数调用完美印证源码执行逻辑。4.7 查看 dl_rq 队列状态调试命令借助内核 proc 文件系统查看调度队列统计# 查看各CPU调度队列概览 cat /proc/sched_debug | grep -E dl_rq|nr_running|earliest_dl可直观观察任务出队前后nr_running数值递减、earliest_dl 指针变化。五、常见问题与解答Q1任务出队后 nr_running 计数为什么会出现不匹配解答大概率是内核模块或自定义调度逻辑绕过标准dequeue_task_dl接口直接操作红黑树节点没有递减nr_running也可能是任务迁移时源 CPU 出队失败、目标 CPU 入队重复计数。必须严格使用内核标准调度类接口禁止直接修改 dl_rq 结构体成员。Q2为什么普通任务出队不刷新 earliest_dl只删除首节点才刷新解答红黑树查找最左节点是 O (logN) 开销高并发实时任务下频繁全树刷新会放大调度时延。内核做了贪心优化只有被删除任务是当前缓存的最早截止任务才重新遍历其他情况缓存依然有效无需变更兼顾正确性与性能。Q3dl_non_contending 标记的作用是什么出队后为什么要置 1解答DL 任务出队进入休眠不会立刻回收 CPU 带宽而是标记为非竞争过渡态。短时间内任务再次唤醒可直接复用原有带宽不用重新申请避免带宽节流导致实时任务延迟飙升是 CBS 带宽服务器的核心设计。Q4多核 CPU 任务迁移出队需要处理哪些特殊逻辑解答任务从 CPU0 迁移到 CPU1 时先在 CPU0 执行完整dl_dequeue_task出队流程递减计数、刷新本地 earliest_dl再到 CPU1 执行 enqueue 入队维护目标 CPU 队列状态两端队列完全独立互不干扰。Q5如何定位任务出队引发的实时抢占失效解答1. 用 ftrace 跟踪dequeue_dl_entity是否正常调用2. 查看 sched_debug 确认 nr_running 是否和实际任务数匹配3. 对比 earliest_dl 与红黑树最左节点截止时间是否一致4. 排查是否自定义内核补丁破坏了出队分支逻辑。六、实践建议与最佳实践源码研读技巧不要孤立看dl_dequeue_task必须和enqueue_task_dl对照阅读入队维护什么字段、出队反向清理什么字段成对理解才能吃透设计思想。配合 ftrace 动态跟踪比静态读源码更容易理清调用栈。实时任务开发规范尽量避免 SCHED_DEADLINE 任务频繁短时休眠唤醒频繁触发出队 入队会反复执行红黑树删除、插入、平衡操作增加系统调度抖动。业务上尽量合并任务周期减少状态切换频次。内核调试排障技巧遇到实时任务不抢占、调度延迟大时优先排查 dl_rq 的nr_running计数和earliest_dl缓存九成问题都是出队逻辑异常导致缓存脏数据、队列计数漂移。内核定制改造建议自研 EDF 变种调度器时不要砍掉现有出队流程的计数维护、earliest_dl 刷新逻辑可以扩展出队后的带宽回收策略但必须保留队列基础维护逻辑否则会引发调度器崩溃。线上实时系统运维生产环境开启CONFIG_SCHED_DEBUG保留 ftrace 调试入口一旦出现实时任务超时可实时抓取出队函数调用日志快速定位是业务问题还是内核调度出队逻辑异常。七、总结与应用延伸本文系统性拆解了 Linux Deadline 调度器dl_dequeue_task任务出队全套实现从基础概念、环境搭建、内核源码逐行剖析、用户态测试代码、ftrace 实操跟踪到问题排查与工程最佳实践完整覆盖了出队流程的设计思想、分支逻辑、性能优化与边界处理。任务出队不是简单的节点删除是一套包含红黑树移除、队列计数维护、最早截止缓存刷新、实时带宽状态标记、非竞争过渡态流转的完整闭环。dl_dequeue_task作为 Deadline 调度器逆向核心链路和入队、调度抢占共同构成硬实时调度的底层基石。在工业控制、自动驾驶、5G 通信、航空航天嵌入式实时项目中任务频繁阻塞、唤醒、迁移都高度依赖这套出队机制的稳定性对于内核开发者、嵌入式工程师、研究生撰写内核调度相关论文本文源码、注释、实操命令均可直接作为调研素材与实验复现依据。建议读者自行修改内核源码微调dequeue_dl_entity中 earliest_dl 刷新分支重新编译内核通过 ftrace 和 sched_debug 观察调度时延、任务抢占行为的变化真正从源码层面吃透 Linux Deadline 调度器任务出队的底层精髓。

相关文章:

Linux Deadline 调度器的任务出队:dl_dequeue_task 的实现

简介在 Linux 内核调度体系中,SCHED_DEADLINE作为硬实时调度策略,依托EDF 最早截止时间优先与CBS 恒定带宽服务器两大核心算法,承载着工业控制、自动驾驶域控制器、航空航天实时测控、5G 基带处理、专业音视频低延迟编解码等对时间确定性、调…...

你的桌面需要一个会思考的伙伴吗?DyberPet让虚拟宠物拥有情感与智慧

你的桌面需要一个会思考的伙伴吗?DyberPet让虚拟宠物拥有情感与智慧 【免费下载链接】DyberPet Desktop Cyber Pet Framework based on PySide6 项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet 每天面对冰冷的屏幕,你是否曾幻想过有…...

连接器选型三张“底牌”:电源、高速、射频的隐性代价与系统级权衡

当产品进入量产阶段,连接器往往是“压死骆驼的最后一根稻草”。它不像芯片那样有明确的数据手册边界,也不像PCB那样可归咎于Layout规则。连接器的失效模式高度依赖“配合状态”——插拔了几次?压接用了什么工具?相邻器件发热多少&…...

无需联网!Win11 本地 AI 工具 OpenClaw 部署详解

前言 OpenClaw(小龙虾 AI)作为 2026 年备受关注的本地 AI 自动化工具,全程无需依赖网络与云端账号,通过自然语言指令就能完成电脑操作自动化处理,有效提升日常办公与文件管理效率。 安装前重要提醒(必看&a…...

Switch大气层系统:从零开始掌握自定义固件的完整指南

Switch大气层系统:从零开始掌握自定义固件的完整指南 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 大气层系统(Atmosphere)是任天堂Switch平台上最强大…...

Go语言轻量级代理工具curxy:命令行驱动的HTTP/S请求转发与Mock服务器实践

1. 项目概述:一个轻量级的本地代理工具最近在折腾一些本地开发环境,特别是需要处理跨域请求或者模拟特定网络环境时,总是绕不开代理这个环节。用 Nginx 配置吧,对于简单的转发需求来说有点重;用 Node.js 写个简单的 HT…...

凌扬微优势代理 LY3508 4.2V/1A充电/1.6A驱动 全桥马达驱动控制芯片 ESOP8 技术解析

在电动牙刷、智能垃圾桶等单节锂电池供电的马达类产品中,需要一款集成锂电池充电管理和全桥马达驱动的芯片,以实现电机正反转、刹车控制,并简化外围电路设计。LY3508是一款集成了锂电池充电管理模块、全桥马达驱动模块、续流二极管和逻辑控制…...

使用Curxy代理连接Cursor编辑器与本地Ollama大模型

1. 项目概述:为什么我们需要一个本地AI代理 如果你和我一样,是个重度依赖Cursor这类AI驱动的代码编辑器来提高生产力的开发者,那你肯定遇到过这个痛点:想用自己本地部署的、性能强大的Ollama模型,却发现Cursor编辑器死…...

抖音无水印下载神器:3分钟搞定批量下载,小白也能轻松上手

抖音无水印下载神器:3分钟搞定批量下载,小白也能轻松上手 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser …...

终极音频解密指南:3分钟解锁QQ音乐加密格式

终极音频解密指南:3分钟解锁QQ音乐加密格式 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 想要让QQ音乐下载的加密歌曲在任何播放器上自由播放吗?q…...

百度网盘秒传技术终极指南:打破文件分享的时间限制

百度网盘秒传技术终极指南:打破文件分享的时间限制 【免费下载链接】rapid-upload-userscript-doc 秒传链接提取脚本 - 文档&教程 项目地址: https://gitcode.com/gh_mirrors/ra/rapid-upload-userscript-doc 在数字信息爆炸的时代,文件分享已…...

终极AI图层分离指南:如何5分钟内将单张插画转为分层PSD文件

终极AI图层分离指南:如何5分钟内将单张插画转为分层PSD文件 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 你是否曾经面对复杂的插画设计&am…...

ClawGuard Web:构建AI技能安全扫描平台,从代码安全到信任生态

1. 项目概述:ClawGuard Web 安全技能注册平台如果你在 OpenClaw 生态里开发或使用技能,那你肯定遇到过这个头疼的问题:从 ClawHub 或者 GitHub 上找到一个看起来不错的技能,但心里总犯嘀咕——这代码里会不会藏着恶意后门&#xf…...

SAP 利润中心(Profit Center, PCA)深度解析:定义、核算、数据归集与实例

SAP 利润中心(Profit Center, PCA)深度解析:定义、核算、数据归集与实例利润中心是 SAP 管理会计(CO-PCA) 核心组织单元,是面向内部经营考核的虚拟核算主体,可独立计算收入、成本、费用与利润&a…...

SAP S/4HANA 利润中心(PCA)完整配置步骤

SAP S/4HANA 利润中心(PCA)完整配置步骤按项目上线标准顺序一步步来,从零到可用,含前台 后台、必配 可选,通俗易懂不绕弯路一、前期基础前提(必须先做好)公司代码、控制范围已创建控制范围与公…...

Oracle EBS 的财务核算是以「Ledger(帐套)」为核心,绑定 COA、本位币、日历、核算方法,再配 OU(业务实体)、LE(法人);

Oracle EBS 的财务核算是以「Ledger(帐套)」为核心,绑定 COA、本位币、日历、核算方法,再配 OU(业务实体)、LE(法人);而 SAP FICO 是「FI(财务会计&#xff0…...

免费LLM API集成实战:从选型到构建高可用AI服务

1. 项目概述:一个汇聚免费LLM API的宝藏仓库如果你正在开发一个需要AI对话、文本生成或代码补全功能的应用,但又被高昂的API调用费用或复杂的申请流程劝退,那么你很可能需要这个项目。Clovenhoofed-loadingarea139/awesome-free-llm-apis是一…...

QMCDecode终极指南:如何快速解锁QQ音乐加密文件实现跨设备播放

QMCDecode终极指南:如何快速解锁QQ音乐加密文件实现跨设备播放 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录&#xff…...

3个步骤解决经典游戏无法联网:IPXWrapper终极兼容方案

3个步骤解决经典游戏无法联网:IPXWrapper终极兼容方案 【免费下载链接】ipxwrapper 项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper 你是否曾在Windows 10或11系统上试图重温《红色警戒2》、《帝国时代》或《星际争霸》的局域网对战,却…...

3个简单步骤彻底解决Dell G15笔记本散热问题:开源温度控制中心完全指南

3个简单步骤彻底解决Dell G15笔记本散热问题:开源温度控制中心完全指南 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 你是否正在为Dell G15笔记本…...

Cursor AI 编辑器一键配置指南:从零搭建高效编程工作站

1. 项目概述:一个为 Cursor 编辑器量身定制的“开箱即用”向导如果你是一名开发者,最近肯定没少听人提起 Cursor 这款编辑器。它基于 VS Code,但深度集成了 AI 能力,号称能理解你的代码上下文,帮你写代码、改 Bug、甚至…...

【WPF可视化设计】突破性企业级XAML设计框架,实现3倍开发效率提升

【WPF可视化设计】突破性企业级XAML设计框架,实现3倍开发效率提升 【免费下载链接】WpfDesigner The WPF Designer from SharpDevelop 项目地址: https://gitcode.com/gh_mirrors/wp/WpfDesigner 面对WPF应用开发中XAML代码编写繁琐、布局调试耗时、团队协作…...

NEO-M9L-20A,支持四系统并发与3D汽车航位推算(ADR)的GNSS模块

简介今天我要向大家介绍的是 u-blox 的模块——NEO-M9L-20A。这是一款基于 u-blox M9 平台的汽车级(AEC-Q104)标准精度GNSS接收模块,专为需要高精度、高可靠性定位的汽车和工业追踪应用而生(如导航、车联网和无人机)。该模块集成了3D惯性测量…...

为AI编程助手设置安全规则:从原理到实践的工程指南

1. 项目概述:为你的AI编程伙伴戴上“紧箍咒”如果你和我一样,深度使用Cursor这类AI编程助手,那你一定体验过那种“冰火两重天”的感觉。一方面,它能以惊人的速度生成代码、重构函数、甚至解释复杂逻辑,极大地提升了开发…...

关于python

1.python的主要运用Python的主要应用领域Python作为一种通用编程语言,因其简洁、易读和强大的生态系统,被广泛应用于多个领域。以下是Python的主要应用场景:数据科学与机器学习Python在数据分析和机器学习领域占据主导地位。库如NumPy、Panda…...

拆解、对比与优化:LLM工具智能体的五种任务规划与执行模式

大语言模型(LLM)驱动的 AI 智能体,特别是在借助Tools(工具)来完成复杂任务执行的过程中展现出了巨大的潜力。然而,让智能体能够合理规划任务步骤与执行、避免盲目行动是确保其高效可靠完成目标的关键。本篇…...

微信社交圈净化实战:如何识别并清理单向好友关系

微信社交圈净化实战:如何识别并清理单向好友关系 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends 你是…...

Fuzzz靶场学习笔记

前言正文1、端口扫描2、安卓端口反向代理3、目录遍历获取RSA密钥4、用户提权前言 本文介绍了Kali Linux的基本使用技巧和nmap常见命令,重点演示了端口扫描、安卓设备反向代理和权限提升过程。通过nmap扫描发现安卓设备5555端口开放,使用adb工具连接后&a…...

Windows Defender 彻底移除工具:专业级系统安全组件管理解决方案

Windows Defender 彻底移除工具:专业级系统安全组件管理解决方案 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_m…...

如何高效配置智能游戏助手:绝区零一条龙完整使用攻略

如何高效配置智能游戏助手:绝区零一条龙完整使用攻略 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 还在为《绝…...