自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 [数据库/数据结构] LSM-Tree :结构化的日志合并树——NewSQL数据库的基石

其实这俩都是数据库存储引擎绕不过去的树。B-tree更加早期,也是传统关系型数据库中所广泛应用,像是MySQL InnoDB和SQL server都有他的身影。B-tree 数据结构其实很优雅的,B for Balanced, 所以其特点简明扼要就是自平衡,而通过自平衡有效地减少了磁盘IO。之后更是被发扬光大,演变出来很多分支,比如我们常说的B+树。这棵树是讲数据按照顺序存储在树节点中,每一个节点上边都有一定的key和pointer。而Key代表这顺序,pointer则是指向子节点的路牌。

2025-11-21 12:37:38 560

原创 生成式AI项目的管理新挑战

作为对前文所述AI项目管理新范式的深化与扩展,本章聚焦于生成式AI这一迅猛发展的领域。生成式AI项目继承了传统AI项目的数据驱动、不确定性等核心特征,同时在其基础上,对项目管理的四个核心知识领域——范围、质量、成本与风险——提出了前所未有的新挑战。本章将系统解构这些挑战,并指明项目经理应如何调整其思维、流程与工具,以驾驭这股技术浪潮,确保项目在创造力的表象之下,依然处于可控、可度量、可交付的专业化管理轨道之中。

2025-11-21 12:36:18 590

原创 MySQL高级技术体系:从复杂检索到自动化管理的实战指南

当业务逻辑复杂(如“订单创建→库存扣减→日志记录”)时,手动执行多条SQL易出错,而存储过程、游标、触发器通过“代码封装、自动执行”实现业务逻辑自动化,提升效率与一致性。)仅返回多表匹配的行,而外部联结支持保留“左表/右表所有行”,即使无关联数据也不丢弃,适用于“全量统计+关联匹配”场景(如“所有客户的订单数,含无订单客户”)。游标是“存储在服务器上的查询结果集”,支持逐行读取数据,适用于“逐行处理、个性化计算”场景(如“遍历订单,计算每个订单的优惠金额”)。

2025-11-21 12:34:57 706

原创 使用 CsWin 和 ComWrappers 实现 COM 接口

彰晃炊盒NET 团队在官方博客上发布了.NET 10 RC2[1], .NET 10 作为继 .NET 9 后的长期支持版本(LTS),提供3年官方支持。RC2 是正式版(GA)前的最终候选版本,已具备生产环境可用性(Go-Live License),支持企业级部署。.NET MAUI:XAML 强类型源码生成器提升构建性能与 IntelliSense 支持,新增 ShadowTypeConverter、Switch.OffColor 等控件 API。RC1(2025年9月10日):聚焦稳定性与性能优化。

2025-11-20 17:34:34 432 1

原创 .NET操作Word实现智能文档处理 - 内容查找替换与书签操作

很显然 \(f(q)\) 是个很没用而且碍眼并且值又固定的东西,那么预处理算出 \(f(q)\),然后问题转化成求长度为 \(k\) 值域为 \(1 \sim n\) 的序列中单调不降的序列个数,那么仔细思考,对于从 \(n\) 中任选 \(k\) 个,重排一遍一定可以,所以说就是 \(C_n^k\),答案为 \(C_n^k f(q)\)。我们先给每组分配一个物品,只剩 \(n-1\) 个物品,我们要在这 \(n-1\) 个物品中选择 \(k-1\) 个隔板,所以是 \(C_{n-1}^{k-1}\)。

2025-11-20 17:33:22 892

原创 .NET开发中秒判断该用 IEnumerable 还是 IQueryable

在多年的研发生涯里,对调参这个事深恶痛绝,为什么辛辛苦苦架构出来的模型,一训练就崩,训练收敛慢到龟速,这严重影响了开发进度,并且增加了很多不可抗力的消耗。换句话说,朴素SGD是一个没有应用任何先验补充的野蛮人,较于Adam的平滑学习而言,它就像一只无头苍蝇,到处乱撞,也不知道该撞多少次才能收敛至最小值。我相信有很多业内同行,都有这种痛,训练了很久,效果依旧很差,泛化能力也不行,然后就开始苦恼,为什么自己没有足够的钱,足够的算力。引入动量缓冲m,也就是一阶矩,指数加权平滑梯度,它积累了历史梯度的方向趋势。

2025-11-20 17:32:15 774

原创 告别 LaTeX 配置地狱:我的 Overleaf (ShareLaTeX-CE) 完整版私有化部署方案

free-threading版本的python旨在提供与启用GIL功能python版本类似的线程安全行为,通过内部锁来实现dict、list 和 set这些内置数据类型的线程安全。从3.13版本开始,python引入了free-threading功能,其中GIL可被关闭,python线程可充分利用多核cpu资源,这里做下简单介绍。这里使用源码编译的方式安装python3.14.0版本,如果嫌麻烦,可直接下载预编译的二进制文件。1)通过源码安装时,需要添加 --disable-gil 标志;

2025-11-20 17:29:49 295

原创 HuggingFace

倏雍氏僮探秘Transformer系列之(1):注意力机制0x00 概述因为各种事情,好久没有写博客了,之前写得一些草稿也没有时间整理(都没有时间登录博客和微信,导致最近才发现好多未读消息和私信,在这里和各位朋友说下万分抱歉)。现在恢复更新,是因为最近有些从非AI领域转过来的新同学来找我询问是否有比较好的学习资料,他们希望在短期内迅速上手 Transformer。我在网上找了下,但是没有找到非常合适的系统的学习资料,于是就萌发了自己写一个系列的想法,遂有此系列。在整理过程中,我也发现了自己很多似是而非的错误

2025-11-20 17:28:27 839

原创 使用 Docker 快速搭建 MinIO 文件存储服务

可以看到,*p2 实际上指的是 p1,而它的值则是 a 的地址。当然啦,我让你先把引用忘了是有原因的,因为这里的 & 和上面引用那里的完全不是一个东西。各位都知道你的内存很大,位置很多,取地址符就是用于查找变量的位置的。前面提到了指针是对象,也就是说指针也有地址,也就是自己的位置。实际上,把 & 和类型名称放一起也是可行的,但是考虑到上面这个一次声明多个的问题,我还是建议和变量名放一起,否则有歧义。我们的变量对象在内存里,& 找到了对象的位置用指针存起来,然后想要用的时候,再用 * 根据位置找到对象。

2025-11-19 21:27:44 405

原创 【何志丹】蹉跎半生,不知道是否能过岁的坎

第3轮 (位为1): res = 3×81 = 243 ≡ 43, base = 812 = 6561 ≡ 61。由于我们可以快速计算矩阵的幂,我们就绕过了斐波那契数列的定义,使用对数次矩阵乘法的时间直接计算出了某一项。a 取模,同时在算法每一步中,我们都对中间结果取模,这保证了最终结果的正确性,同时防止数值溢出。O(1) 次乘法,实际上更慢了,所以也叫做“龟速乘”,这属于用时间换取了数值安全性。第1轮 (最低位为1): res = 1×3 = 3, base = 32 = 9。

2025-11-19 21:24:02 387

原创 VictoriaLogs 运营数据分享

狼葡险欠NET 团队在官方博客上发布了.NET 10 RC2[1], .NET 10 作为继 .NET 9 后的长期支持版本(LTS),提供3年官方支持。RC2 是正式版(GA)前的最终候选版本,已具备生产环境可用性(Go-Live License),支持企业级部署。.NET MAUI:XAML 强类型源码生成器提升构建性能与 IntelliSense 支持,新增 ShadowTypeConverter、Switch.OffColor 等控件 API。RC1(2025年9月10日):聚焦稳定性与性能优化。

2025-11-19 21:16:31 498

原创 不要忘了ASP.NET跟踪模式

我在动态方法调用中遇到的最大问题之一是集成开发环境(IDE),如 PhpStorm,很难理解它们的使用。例如,如果你想在 PhpStorm 中重命名一个方法,它将无法找到所有引用(因为它们是动态的),也不会为你重命名它们。所以如果你正在阅读这篇文章并在自己的代码中使用它们,请不要认为我在侮辱你的代码。过去,我曾被诱惑删除 IDE 标记为未使用的方法,后来才发现它们确实通过动态方法调用被使用了。在上面的方法中,我们使用了 "match 表达式"来读取负载的 event 字段,然后根据其值调用相应的方法。

2025-11-19 21:13:15 425

原创 老赵谈IL():IL是什么,它又不是什么?那么汇编呢?

一旦虚拟机成功启动,Docker命令行工具就会自动连接到Colima提供的Docker守护进程,此时我们就可以在Mac上正常使用所有Docker命令了。# 当未指定时,会从https://github.com/abiosoft/colima-core/releases下载适当的磁盘镜像。colima start --cpu 1 --memory 2 --disk 10 ## 指定配置启动。# docker daemon的配置,即`daemon.json`# 为虚拟机指定自定义磁盘镜像。

2025-11-18 22:34:42 288

原创 前端设计师必知的background属性

在Goroutine分析中,可以锁定真正的问题所在了,在go-zero的core包下的collection文件在不到一秒内创建了两万多的Goroutine,虽然两万多数量不多,但是这个速度十分异常,最重要的是这个定时轮就很奇怪,这个项目中根本没有定时任务,接下来就很容易查询了,只要查找这次提交的代码中哪里使用到了collection包。其实不是的,是我们使用方法错误,正确的使用方法不应该将缓存创建在上下文中,而应该创建一个全局缓存,让所有的上下文都公用这一个缓存,这样就不会发生定时轮无限创建的问题。

2025-11-18 22:31:38 331

原创 JavaScript中的类型

随后使用binlog_summary.py(具体用法可参考:Binlog分析利器-binlog_summary.py)对延迟开始时段的四个 binlog 文件( binary-log.005636 ~ binary-log.005639 )进行了分析,发现这些 binlog 的操作模式十分相似:操作次数排名前两位的均为同一张表biz_schema.tbl_product_service_mapping01的 DELETE 与 INSERT 操作。需要注意的是,这个实例的事务隔离级别是 RC。

2025-11-18 22:28:19 243

原创 HTML以及WebGL

以下是实现苹果热成像所需的主要依赖资源,其中:OrthographicCamera用于创建平行投影相机、LinearFilter 是纹理采样过滤方式的常量,用于在控制纹理在放大缩小时的平滑过渡效果、ShaderMaterial 用于通过 GLSL创建自定义的着色器材质,是实现本案例效果的关键、VideoTexture可以将视频元素作为数据源创建动态的视频纹理、Leva 是一个轻量级的前端调试工具库,主要用于快速创建交互式控制面板,方便开发者在开发过程中实时调试热成像的各种参数等。

2025-11-18 22:20:07 449

原创 人工智能-群

考虑能满足就满足,遇到不能满足的就把前面满足的人里买的最多的那个人踢出去(如果踢掉他就能满足当前的人),这样就能保证答案最大化。最后算答案的时候直接四重循环更新答案,但是由于我们之前存的是三个可以抵达的最大权值点,所以显然复杂度只有。但是区间的使用是有限制的,考虑取用区间时按照右端点排序,这样可以贡献到更多后面未知元素。参考的题解说预先要按照左端点排序,但是事实上与优先队列采用一致的排序方式也不影响。但是这题实际上是离线的,线段树主要起到辅助二分判定的作用。先对每个虫洞的宽度排序,然后判定的时候把满足。

2025-11-18 22:16:07 252

原创 Windows 镜像坎坷之路

先来看下kcontext()的代码。妨拼逞乃随着处理器主频的越来越高,每次读写一次磁盘要耗费很多个时钟周期来等待磁盘操作的完成,与其傻傻等待,在这等待的过程中我们可以做更多有意义的事情,如当第一个程序需要等待输入输出的时候,切换到第二个程序来运行,第二个程序也等待输入输出的时候就可以切换到第三个程序,以此类推。进程是执行中的程序,除了可执行代码外还包含进程的活动信息和数据,比如用来存放函数变量、局部变量、返回值的用户栈,存放进程相关数据的数据段,内核中进程间切换的内核栈,动态分配的堆。

2025-11-17 21:15:19 605

原创 苹果,挺甜的 (-Snow Leopard安装体验)

旨氨现艺下载完的librestreaming源码包缺少gradle目录,不能被Android Studio直接打开,需要先把其他App项目的gradle目录整个复制过来,并且打开gradle/gradle-wrapper.properties,把distributionUrl这行配置改成下面这样,表示使用6.7.1版本的Gradle。对比librestreaming的推流预览界面和VLC media player的拉流播放界面,可知手机摄像头采集到的视频信号正确传送给了电脑。二、更新工具库的仓库位置。

2025-11-17 21:11:02 281

原创 Memcache and Mongodb

模型支持广泛:支持多个模型提供商,如 Gemini、OpenAI、Azure、X.AI、OpenRouter、DIAL、Ollama 等;多模型协作:作为 Model Context Protocol 服务器,可将喜爱的 AI 工具连接到多个 AI 模型,支持对话线程,让 CLI 能与多个 AI 模型讨论想法、交换推理、获取第二意见甚至进行协作辩论,实现真正的 AI 协作和对话连续性。简单讲,它提供沙箱、开发工具和测试基准,让AI能够学习控制完整的桌面系统(如macOS、Linux、Windows)。

2025-11-17 21:07:00 363

原创 讨论: TDD in HTML & JavaScript 之可行性和最佳实践

裁剪之后的视频片段放在App安装路径下的cache目录,完整路径为“我的手机/Android/data/com/iknow.android/cache/视频片段的文件名.mp4”。打开Android-Video-Trimmer工程的app/build.gradle,发现里面引用了支持库Support v27,但Android早已废弃Support库,转为使用AndroidX库,所以要么把Support库升级到最后更新的v28库,要么把支持库迁移到AndroidX。二、更新工具库的仓库位置。

2025-11-17 21:02:18 471

原创 正因为我们是前端,所以代码更需要优雅

的分布可能非常复杂,甚至是多模态的,即在某个状态下,数据集中可能存在多组不同的、有效的动作。通过使用去噪模型(denoising model)将杂乱的观察结果转移(transfer)到干净的观察结果上,SCMA 可以作为各种 policy 的即插即用的增强功能,以减轻视觉上的干扰。然而,这些方法可能会施加过度的限制或有偏见的价值估计,从而可能限制性能改进。虽然许多方法利用探索奖励来鼓励探索,而不是仅仅依赖外在奖励,但这些基于奖励的方法往往面临学习效率和可扩展性的挑战,尤其是在具有高维状态空间的环境中。

2025-11-17 20:57:40 772

原创 详解 ASP.NET异步

因此,我们不能根据顶点来判断,而是要根据边来判断,条件是不能走上一次走过的边。x 父亲节点的集合,即 fa[x] = father,而其它的操作都正常。// 可以这么想一想,如果 v 和 x 不属于同一颗 LCA 的儿子的子树,那么既然 v 已经访问完毕,答案肯定是 v 的集合首领。x 是一个强连通分量上的一个点,那么在栈中在它后面放入的点且现在还在栈中的点与它就可以组成一个强连通分量。// find(v) 才是真答案,因为 find(v) 已经将 v 的集合首领变为 find(v) 了,而 x 还没有。

2025-11-16 15:35:32 899

原创 HTTP协议之状态码详解

结语:在AI技术快速发展的今天,Litho代表了软件工程文档化的新范式——让代码自我描述,让文档自动生成。在现代软件开发中,架构文档往往成为团队的技术债重灾区。模板驱动 Doxygen、Javadoc 生成速度快,成本低 仅限语法层面,缺乏语义理解。AI直接生成 通用LLM+Prompt 灵活性高,理解能力强 成本不可控,输出不稳定。维护成本高 每次代码变更都需要手动更新文档 开发效率降低,文档更新率不足30%格式不统一 缺乏标准化模板,文档质量参差不齐 知识传承困难,审查效率低下。

2025-11-16 15:31:22 399

原创 SQL Server内存遭遇操作系统进程压榨案例

当然,线程本地缓存也不是没有缺点的,线程本地缓存毫无疑问增加了内存的开销,规格繁多的本地池化内存段对象多数时候都只会静静地在缓存中等待被使用(视为内部碎片),因此线程本地所能缓存的池化内存段数量是被严格限制的,使用者需要在池化内存分配效率与空间利用率的取舍上达成平衡。后续每次被额外依赖,被引用数自增1;jemalloc的论文中提到,内存分配作为一个高频的操作需要尽可能的减少线程的同步竞争以提高效率,大量线程都阻塞在同步锁上会大大降低内存分配的整体吞吐率,通过引入线程本地缓存可以显著减少同步竞争的频率。

2025-11-16 15:27:19 765

原创 通往全栈工程师的捷径 —— react

SocketWordCount是Flink中的经典示例,它通过Socket接收实时数据流,对数据流中的单词进行计数,并将结果实时输出。在SocketWordCount中,keyBy操作使用了Key Group Partitioning策略,确保相同单词的数据被发送到同一个分区进行处理。System.out.println("客户端已连接,输入要发送的数据(输入'exit'退出):");最后,调用execute方法启动作业。注意,Flink程序是惰性执行的,只有调用execute方法才会真正触发计算。

2025-11-16 15:23:01 659

原创 开源工程笔记:gitcode/github与性能优化

开源:代码共享与协作的技术之旅 在软件开发领域,开源是一股强大的力量。它不仅促进了代码的共享,更推动了全球开发者之间的协作创新。 核心概念与原理 开源意味着项目

2025-11-16 14:46:42 322

原创 go学习笔记:panic是什么含义

Logs Loki、ElasticSearch、VictoriaLogs、ClickHouse、SLS(阿里云日志服务)、TLS(火山云日志服务,开发中)、CLS(腾讯云日志服务,开发中)配置挂载:将主机上的 ../../config/config.yaml 挂载到容器内 /app/config/config.yaml。ELK系列:https://songxwn.com/categories/linux/ELK/告警机器人 飞书、钉钉、企业微信、邮件、自定义 Webhook、Slack。

2025-11-15 16:37:11 449

原创 如何基于动态关系进行ORM关联查询,并动态推断DTO?

平亿仲敲然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。

2025-11-15 16:32:16 590

原创 如何更好地使用AI编程?

衫嘿驯匈1. 球谐光照(Spherical Harmonics)模型 内存占用 GPU消耗 动态支持 视觉质量。URP混合方案 中 中 ★★★★☆ ★★★★☆。球谐光照 极低 极低 ★★★★★ ★★☆☆☆。反射探针 中-高 中 ★★★☆☆ ★★★★☆。SSR 低 高 ★★★★☆ ★★★★☆。核心方案:反射探针 + 球谐光照。开放世界:球谐为主+关键区域探针。球谐光照提供高效的漫反射环境光。实时动态物体也能接收球谐光照。高端设备:完整反射探针+球谐。将环境光信息编码为球谐系数。存储为立方体贴图或2D贴图。

2025-11-15 16:27:08 356

原创 开源:gitcode的正确打开方式

开源:从概念到实践 引言 在当今软件开发领域,开源已成为一种强大的协作与创新力量。它打破了传统软件封闭开发的模式,让全球开发者能够共同参与项目的建设与完善。gi

2025-11-15 03:11:20 739

原创 开源最佳实践:避坑github,稳健git

开源:从入门到实践 引言 在软件开发领域,开源已经成为一种强大的力量。它不仅促进了技术的快速发展,还让开发者们能够共同协作,创造出更优秀的软件。而 GitHub

2025-11-15 03:06:23 522

原创 PHP 开发者必看得 个容易犯的常见错误 % 的开发者都踩过

灾炒吓湛然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。

2025-11-14 14:07:37 414

原创 拥抱新一代 Web D 引擎,Three.js 项目快速升级 Galacean 指南

叵馗汗泵1. 球谐光照(Spherical Harmonics)模型 内存占用 GPU消耗 动态支持 视觉质量。URP混合方案 中 中 ★★★★☆ ★★★★☆。球谐光照 极低 极低 ★★★★★ ★★☆☆☆。反射探针 中-高 中 ★★★☆☆ ★★★★☆。SSR 低 高 ★★★★☆ ★★★★☆。核心方案:反射探针 + 球谐光照。开放世界:球谐为主+关键区域探针。球谐光照提供高效的漫反射环境光。实时动态物体也能接收球谐光照。高端设备:完整反射探针+球谐。将环境光信息编码为球谐系数。存储为立方体贴图或2D贴图。

2025-11-14 14:02:39 271

原创 JavaScript 中的安全编码: 个关键实践

可以使用此函数允许将特定消息传递到窗口,即使消息源自较低完整性级别的进程也是如此。与控制进程消息筛选器的 ChangeWindowMessageFilter 函数不同, ChangeWindowMessageFilterEx 函数控制窗口消息筛选器。如果进程消息筛选器或窗口消息筛选器允许该消息,则会将其传递到窗口。允许全局或进程范围内的任何消息都将通过,但任何未包含在这两个类别中以及来自较低特权进程的消息都将被阻止。这使 hWnd 能够接收消息,无论消息的来源如何,即使消息来自较低特权进程也是如此。

2025-11-13 16:47:43 358

原创 LangChainj 比 SolonAI 强在哪?弱在哪?

第2行处代码用于获取zeta符号,当zeta为非负数时c1=0,当zeta为负数时c1=0xFFFFFFFF,所以对于mask1来说,要么取值为0,要么为0xFFFFFFFF。第6行表明当g 奇数 且 zeta < 0时,mask1取值为0xFFFFFFFF,这时,第8行zeta=(zeta ^ -1) - 1 = (~zeta) - 1 = -zeta -1 - 1 = -zeta-2,即对应之前说的分支1;zeta<0 且 g&1:zeta=-zeta-2,对应之前delta>0且g&1分支;

2025-11-13 16:42:21 390

原创 体验Managed Extensibility Framework精妙的设计

可以使用此函数允许将特定消息传递到窗口,即使消息源自较低完整性级别的进程也是如此。与控制进程消息筛选器的 ChangeWindowMessageFilter 函数不同, ChangeWindowMessageFilterEx 函数控制窗口消息筛选器。如果进程消息筛选器或窗口消息筛选器允许该消息,则会将其传递到窗口。允许全局或进程范围内的任何消息都将通过,但任何未包含在这两个类别中以及来自较低特权进程的消息都将被阻止。这使 hWnd 能够接收消息,无论消息的来源如何,即使消息来自较低特权进程也是如此。

2025-11-12 15:06:04 702

原创 shishanyuan

第2行处代码用于获取zeta符号,当zeta为非负数时c1=0,当zeta为负数时c1=0xFFFFFFFF,所以对于mask1来说,要么取值为0,要么为0xFFFFFFFF。第6行表明当g 奇数 且 zeta < 0时,mask1取值为0xFFFFFFFF,这时,第8行zeta=(zeta ^ -1) - 1 = (~zeta) - 1 = -zeta -1 - 1 = -zeta-2,即对应之前说的分支1;zeta<0 且 g&1:zeta=-zeta-2,对应之前delta>0且g&1分支;

2025-11-12 15:00:43 377

原创 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-- 操作Select下拉选择框 - 上篇(详细教程)

可以使用此函数允许将特定消息传递到窗口,即使消息源自较低完整性级别的进程也是如此。与控制进程消息筛选器的 ChangeWindowMessageFilter 函数不同, ChangeWindowMessageFilterEx 函数控制窗口消息筛选器。如果进程消息筛选器或窗口消息筛选器允许该消息,则会将其传递到窗口。允许全局或进程范围内的任何消息都将通过,但任何未包含在这两个类别中以及来自较低特权进程的消息都将被阻止。这使 hWnd 能够接收消息,无论消息的来源如何,即使消息来自较低特权进程也是如此。

2025-11-11 14:27:53 728

原创 smileNicky

第2行处代码用于获取zeta符号,当zeta为非负数时c1=0,当zeta为负数时c1=0xFFFFFFFF,所以对于mask1来说,要么取值为0,要么为0xFFFFFFFF。第6行表明当g 奇数 且 zeta < 0时,mask1取值为0xFFFFFFFF,这时,第8行zeta=(zeta ^ -1) - 1 = (~zeta) - 1 = -zeta -1 - 1 = -zeta-2,即对应之前说的分支1;zeta<0 且 g&1:zeta=-zeta-2,对应之前delta>0且g&1分支;

2025-11-11 14:22:56 880

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除