这是 gnatelim 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
gnatelim - 从 Ada 程序中消除死代码
概要
格纳特林 [OPTION] ... 姓名
商品描述
当您使用的程序与其他程序共享一组 Ada 包时
程序,可能会发生,您的程序仅使用这些中定义的子程序的一部分
包,而为未使用的子程序创建的代码会增加包的大小
可执行你的程序。
格纳特林 是跟踪 Ada 程序中未使用的子程序的实用程序。 它的输出包括
标记所有声明的子程序的 Eliminate pragma 列表,但从不
在给定的程序中调用。 消除是特定于 GNAT 的编译指示。 通过编译你的程序
使用这些编译指示,您可以减小其可执行文件的大小,因为编译器会
不要为未使用的子程序创建代码。
格纳特林 是在 GNAT 的 ASIS 实现之上开发的 ASIS 应用程序。 它
需要一组表示要分析的程序的树文件及其主程序的绑定文件
要在当前目录中创建的子程序。 对于当前版本,它是
用户有责任维护所处理的树文件集的一致性
格纳特林, 如果用户还更改了要处理的 Ada 程序的来源。
要生成 Eliminate 编译指示列表, 格纳特林 必须做一个广泛的分析,它
可能需要一些时间。 例如,要处理自己, 格纳特林 需要 4 分钟的 CPU 时间
在奔腾 200 上。
配置
-v 详细模式: 格纳特林 打印版本信息(以 Ada 注释的形式)
在标准输出中; 正在处理的文件的名称打印到标准错误。
-vf 与 -v 相同,但除此之外还有各种调试信息和信息
反映了分析的一些细节 格纳特林 被打印到
标准错误。
-a 处理 RTL 组件:默认情况下, 格纳特林 不分析单位
GNAT 运行时库 (RTL) 的组件,它不会生成
消除 RTL 中声明的子程序的编译指示。 如果设置了 '-a' 选项,则 RTL
组件也被分析(除了一些单元,它包含子程序
由编译器隐式调用)。
-m 检查丢失的单位:如果设置了此选项, 格纳特林 检查所有单位
(根据绑定文件)必须由 格纳特林 真的被代表
由处理的树文件集 格纳特林 (取决于是否'-a'
选项已设置)。 默认情况下(即,如果未设置 '-m' 选项), 格纳特林 分析
由一组给定的树文件“按原样”表示的一组单元(不包括库
需要实体但实体不可用的包)。
使用 onworks.net 服务在线使用 gnatelim
