大数跨境
0
0

不改 NDK 也能用新版 LLVM Pass:Windows 下基于插件的 NDK 27 集成方法

不改 NDK 也能用新版 LLVM Pass:Windows 下基于插件的 NDK 27 集成方法 看雪学苑
2025-12-12
2
导读:看雪论坛作者ID:霜降白羽

最近总算在 Windows 上用插件的方式把 LLVM Pass 集成进了 NDK,中间踩了不少坑。发现全网几乎没人把完整流程写出来,那就由我来补上这块空白吧~


01


前人的智慧

在查阅一些资料后,笔者发现,想要让我们的NDK也能吃到LLVM Pass一般有两种办法:

方案一:在与 NDK 对齐的 llvm-project 上内建集成 Pass,重新编译整套 LLVM/Clang 工具链,并替换 NDK 自带的 clang(内建 Pass 方案)

方案二:把 Pass 编译成 LLVM 插件(shared library),让 NDK 自带的 clang 以fpass-plugin=的方式动态加载(插件方案)


显然方法2可插拔性较强,所以我们接下来的讨论致力于方法2的实现。


【声明】内容源于网络
0
0
看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
内容 6594
粉丝 0
看雪学苑 致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
总阅读53
粉丝0
内容6.6k