项目简介
本项目libbcc是用于移动设备的LLVM位码执行引擎,可将位码编译为内存中的可执行文件。它实现了AOT和JIT两种编译方式,满足安卓设备对快速启动时间、小尺寸和高性能的需求,同时支持设备端链接,各设备厂商能提供自己的运行时位码库。
项目的主要特性和功能
- 编译方式灵活,支持AOT和JIT编译,可按需选择。
- 支持来自Renderscript、GLSL(pixelflinger2)等多种语言前端的位码。
- 性能平衡优化:积极减小库大小;支持二进制文件缓存和AOT编译,减少应用启动时间;启用VFP3和积极的优化措施提升稳态性能。
- 提供基本操作、反射和调试相关的API,方便开发者使用。
- 缓存文件有特定格式,由多个部分组成,各部分有特定功能和对齐要求。
- 明确JIT编译代码在不同调用场景下的参数传递规则。
安装使用步骤
- 确保系统已安装LLVM库和相关依赖。
- 配置编译选项,如选择编译方式(AOT或JIT)、目标平台等。
- 使用命令行工具或IDE编译libbcc源代码。
- 将编译后的libbcc库添加到项目中,并配置构建系统以使用该库。
- 在代码中调用libbcc的API进行位码编译、链接等操作,如使用
bccCreateScript
创建新的bcc脚本,bccReadBC
设置源位码进行编译。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】