百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
R

rose

> 编程语言
开源

ROSE 是 LLNL 设计的开源编译器框架,支持源代码和二进制级别的程序分析和转换。ROSE 可以作为

682 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

ROSE 是 LLNL 设计的开源编译器框架,支持源代码和二进制级别的程序分析和转换。ROSE 可以作为

ROSE 是一个 开源 编译器基础架构,用于构建大规模 Fortran (77/95/2003)、C (最多 C23)、C++ (最多 C++17)、OpenMP、Cuda 和 UPC 应用程序的源代码到源代码程序转换和分析工具。ROSE 还支持 Java (7)、Ada (95) 以及使用 ARM、AMD64 (x86_64)、Intel x86、MIPS、Motorola 68k、PowerPC (32 位和 64 位)、Java 字节码或 CIL 指令集的二进制文件的分析。ROSE 的目标用户既可以是经验丰富的编译器研究人员,也可以是库和工具开发人员,他们可能拥有最少的编译器经验。ROSE 特别适合用于构建用于静态分析、程序优化、任意程序转换、特定领域优化、复杂循环优化、性能分析和网络安全的定制工具。

为什么使用 ROSE

ROSE 并非 grep、sed、LLVM 或 Perl 脚本。ROSE 工具利用基于 ROSE 编译器的基础架构,将代码解析成完整的抽象语法树(AST)。AST 包含原始代码中的所有语法和语义信息,并具有丰富的 API,支持复杂的分析和转换。ROSE 工具查询 AST,并报告和/或修改 AST,然后可能从 AST 中生成新的代码。所有 ROSE 工具都可以精确地复制多种编译器语言、供应商和版本的解析和语义分析行为。客户或 ROSE 团队可以快速创建新的 ROSE 工具。ROSE 是开源的,可在大量不断扩展的平台上移植。ROSE 工具可以处理大型代码库,ROSE 基础架构和 ROSE 工具集合不断得到 LLNL ROSE 团队和外部贡献者的升级和扩展。

安装说明 ROSE 需要 CMake 版本 >= 3.15 Rose 支持多种语言,在本示例中我们只会启用 C 语言支持。假设在名为 "rosebuild" 的目录中进行非源码构建

ROSE Doxygen API

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言