AnyPS5 unused-filter=0/1/2 区别详解:PS5 移植工具的三级未用符号过滤终极对比
AnyPS5 unused-filter0/1/2 区别详解PS5 移植工具的三级未用符号过滤终极对比【免费下载链接】AnyPS5Tool for automatic PS5 executables porting to Linux and Windows项目地址: https://gitcode.com/GitHub_Trending/an/AnyPS5AnyPS5是一款能把 PS5 可执行文件ELF自动移植到 Linux 和 Windows 的原生重链接工具无需模拟器或额外运行时。它的核心组件 relinker 负责重写动态符号表而unused-filter0|1|2正是控制未用符号NID过滤强度的关键参数。本文带你一次搞懂三档策略的取舍帮你选出最合适的级别。一句话理解NID是 PS5 用来标识系统库符号的 64 位哈希值。重链接时relinker 会为每个导入符号建立动态表和 PLT 槽位。过滤掉从未被真正调用的 NID就能让输出的.so/.dll更小、加载更快。unused-filter决定过滤得有多狠。三级策略速览先给结论一张表看懂区别级别过滤行为处理范围输出日志特征适用场景unused-filter0完全不过滤保留全部导入 NIDUnused NID filtering: disabled默认、最兼容、排错unused-filter1智能过滤只过滤非 PLT未用导入PLT 全保留PLT preservation/CFG/GOT filtering兼顾体积与稳定性unused-filter2严格可达性 PLT 压缩过滤全部导入并压缩 PLT 槽位Strict reachability/PLT compaction追求最小输出参数解析入口在 CliArgs.cpp只接受0/1/2默认值为0见 Cli.hpp。unused-filter0全量保留最稳最兼容 ️这是默认档。relinker 保留所有导入的 NID 引用一个都不删。行为直接进入禁用过滤分支日志打印Unused NID filtering: disabled; filtered0。优点符号最完整兼容性最强一旦游戏跑不起来用它排除是不是过滤删错了符号是最快的思路。代价动态段和 PLT 槽位更多二进制略大、加载略慢。建议拿不准时先用它验证功能再逐步提高档位。对应逻辑RelinkerPipeline.cppunused-filter1CFG/GOT 智能过滤平衡之选 ⚖️这是大多数场景的甜点位。它只做一次控制流图CFG GOT 访问分析从程序入口构建可达代码的控制流图建立 GOT 槽位访问索引只剔除那些 GOT 槽位从未被真正访问的非 PLT 导入PLT 导入全部原样保留因为函数调用链较难静态证明未用保守保留。日志会打印PLT preservationPLT 保留数和CFG/GOT filtering非 PLT 过滤数两行直观看到省了多少。优点在不牺牲函数调用稳定性的前提下明显瘦身二进制。限制若可执行段不止一个会跳过 CFG/GOT 过滤并打印multiple executable segments are not modeled此时行为退化为仅保留 PLT。实现CFG/GOT 过滤见 UnusedNidFilter.cpp。对应逻辑RelinkerPipeline.cppunused-filter2严格可达性 PLT 压缩最激进 这是洁癖档目标是最小化输出。相比 1 档它多了两步严格可达性分析解析异常展开函数、函数图活跃区域、取地址根节点等判定每个导入符号是否真的可达剔除全部未用导入含 PLT。日志会打印指令数、活跃区域数、间接转移数等。PLT 压缩Compaction把 PLT 槽位压缩到实际使用数量进一步缩小.plt和重定位表。优点输出体积最小、加载最快。代价与限制分析能力有限遇到不支持的结构如 IFUNC 解析器、多个可执行段会直接报错终止而非静默降级对输入镜像做了大量合法性校验如 little-endian ELF64、单一不可变代码段。适用你已经用 0/1 档验证功能正常再切到 2 档榨取体积收益。严格可达性见 StrictNidFilter.cppPLT 压缩见 PltCompactor.cpp两者由 main.cpp 根据档位选择装配。对应逻辑RelinkerPipeline.cpp如何选择三步决策法 ✅先跑unused-filter0确认游戏/程序功能正常、没有缺符号报错。切到unused-filter1获得体积收益同时保留 PLT 的调用稳定性多数情况到此即可。最后试unused-filter2若日志顺利打印Strict reachability与PLT compaction且程序正常就锁定它享受最小输出若报严格过滤错误退回 1 档。参数用法示例unused-filter使用等号形式、不带--前缀且最多出现一次格式校验见 CliArgs.cpp。# Linux 目标默认 0 档 relinker input.elf output.elf # 智能过滤推荐起点 relinker unused-filter1 input.elf output.elf # Windows 目标 严格压缩 relinker --windows unused-filter2 input.elf output.elf完整参数说明见 USAGE.md。快速上手本地没有构建环境时可先克隆仓库查看源码与文档git clone https://gitcode.com/GitHub_Trending/an/AnyPS5总结0全保留最稳用来验证基线1CFG/GOT 过滤非 PLT 未用符号PLT 保留平衡之选2严格可达性 PLT 压缩体积最小但对输入要求最严。从0起步逐级上调遇到报错就回退是 AnyPS5 移植工作流中最稳妥的姿势。更多兼容性与游戏清单可参考 COMPATIBILITY.md。【免费下载链接】AnyPS5Tool for automatic PS5 executables porting to Linux and Windows项目地址: https://gitcode.com/GitHub_Trending/an/AnyPS5创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

C#高并发Socket实战:SAEA模型、粘包拆包与性能避坑指南

C#高并发Socket实战:SAEA模型、粘包拆包与性能避坑指南

简介:这份C#高并发SOCKET服务器与客户端完整工程实例源码,面向希望深入理解网络通信底层机制的.NET开发者,尤其适合需要掌握多线程与异步编程模型的进阶学习者。资源包共431个文件,约4.1MB,以cs源代码、csproj项目文件…

2026/10/7 4:54:43 阅读更多 →
Go 并发编程:全面解析 goroutine 泄露的根源、排查与修复

Go 并发编程:全面解析 goroutine 泄露的根源、排查与修复

1. 先搞清楚:goroutine 泄露到底是个什么“病”写了几年 Go,我最大的感受是:goroutine 轻量是真轻量,但一旦用不好,它带来的麻烦一点也不比线程少。很多人一听到 goroutine 泄露,第一反应是“内存占用高”&…

2026/10/7 4:54:43 阅读更多 →
Avaya CM 5.2 SIP中继配置与Diversion头实战指南

Avaya CM 5.2 SIP中继配置与Diversion头实战指南

简介:本资源是一份面向企业通信系统管理员与VoIP技术实施人员的Avaya SIP配置权威指南,聚焦Avaya Aura™ Communication Manager 5.2版本核心功能落地,解决SIP协议集成、呼叫路由优化及跨终端协同等典型部署难题。文档为单文件PDF格式&#x…

2026/10/7 4:54:43 阅读更多 →

最新新闻

MOS管并联四大要点:静态均流、动态均流、PCB布局与热设计

MOS管并联四大要点:静态均流、动态均流、PCB布局与热设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 5:29:08 阅读更多 →
UE5.3源码级实战:从GC崩溃到蓝图编译优化的深度解析

UE5.3源码级实战:从GC崩溃到蓝图编译优化的深度解析

1. 项目概述:这不是一本UE教材,而是一份从引擎源码现场挖出来的实战笔记“游戏引擎架构深度解析(五):UE实战与高级主题”——这个标题里藏着三个关键信号:第一,“深度解析”不是泛泛而谈的API调…

2026/10/7 5:29:08 阅读更多 →
AI Agent智能体落地指南:架构选型、并发性能与安全治理

AI Agent智能体落地指南:架构选型、并发性能与安全治理

AI Agent 智能体技术发展报告这两年我一直在做AI Agent相关的落地项目,最大的感受是:这个领域已经从"人人都能做个Demo"的阶段,走到了"谁能把智能体真正跑进生产环境"的阶段。前阵子跟几个同行聊,大家不约而同…

2026/10/7 5:29:08 阅读更多 →
智能体技术全景解析:从核心架构到落地实践

智能体技术全景解析:从核心架构到落地实践

1. 智能体技术走到哪一步了:从"能聊天"到"能干活"过去一年,如果你们团队还没有正经聊过AIAgent(智能体),那基本等于错过了技术圈最热闹的一条主线。从年初各种开源智能体平台密集发布,…

2026/10/7 5:29:08 阅读更多 →
AI Agent智能体工程落地实践:从架构选型到安全治理的全面复盘

AI Agent智能体工程落地实践:从架构选型到安全治理的全面复盘

做了两年多的智能体落地项目,陆陆续续帮团队、帮客户搭过几十个从简单到复杂的 Agent 应用。最近又把 AI Agent 智能体技术报告相关的资料翻了一遍,结合我自己踩过、填过的坑,这篇就当作一份阶段性的工程复盘和技术现状梳理,聊聊我…

2026/10/7 5:29:08 阅读更多 →
UE引擎架构实战:从Gameplay框架到GAS与多线程渲染

UE引擎架构实战:从Gameplay框架到GAS与多线程渲染

聊到游戏引擎架构,绕不开的就是UE。这个系列前面几篇我们把引擎架构的基本盘过了一遍,从模块划分到核心循环都有涉及,这一篇直接把镜头拉到UE实战,聊几个真正影响项目走向的高级主题:Gameplay框架的落地姿势、GAS组件系…

2026/10/7 5:28:08 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 7:15:40 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 5:29:09 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 6:26:51 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 8:21:32 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 4:21:51 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:18:13 阅读更多 →