You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在alr中关闭-gnatyt风格检查编译选项

如何在alr中关闭GNAT的-gnatyt风格检查选项?

刚在Linux上安装了alr,时隔10年重拾Ada语言,发现GNAT社区版已不再受支持。编写了如下简单的Ada程序:

with Ada.Text_IO;

procedure A02hello is
begin
   Ada.Text_IO.Put_Line("It works");
end A02hello;

编译时出现风格警告:

Compile
   [Ada]          a02hello.adb
a02hello.adb:5:24: (style) space required [-gnatyt]

给Put_Line和括号间添加空格后警告消失,但希望直接关闭-gnatyt这个风格检查选项,可通过以下几种方式实现:

方法一:修改项目GPR文件

如果项目使用GPR项目文件,直接在文件中配置编译器开关:

project A02hello is
   for Source_Files use ("a02hello.adb");
   package Compiler is
      for Default_Switches ("Ada") use ("-gnat!y");
   end Compiler;
end A02hello;

GNAT的选项规则中,在原选项前加!即可反向取消该选项,-gnat!y就是关闭-gnatyt的空格风格检查。

方法二:通过alr命令行控制

临时单次生效

编译时直接传递编译器选项给alr,用--分隔alr自身参数和编译器参数:

alr compile -- -gnat!y

永久生效当前项目

将选项写入项目的alr配置文件,后续编译自动应用:

alr config --set compiler.ada.default_switches "-gnat!y"

内容的提问来源于stack exchange,提问作者cup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 01:52:09