问题标签 [gnat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
248 浏览

compilation - 输出错误的简单 Ada 程序

在这里完成 Ada 的初学者。我正在尝试从这里编译和运行一个简单的 Ada 程序:http ://www.dwheeler.com/lovelace/s1sf.htm

这是代码:

我在 Linux 上,使用 gnat,所以我这样做:

这给了我可执行文件。运行可执行文件会给出一个零列表,因为它似乎将 X 初始化为 0,即使它说要将它初始化为 1,所以我应该得到一个列表 1,2,4,...

谁能解释我的代码或我的想法哪里有问题?哦,使用 gnat 有没有办法在单个命令中编译和创建可执行文件?

0 投票
1 回答
100 浏览

windows - Windows 上的任务和 -gnatP 开关

-gnatP(为异步任务操作启用轮询)开关有什么作用?

我正在使用 GNAT 开发一个相当大的游戏项目,文档声称 Windows NT 需要此开关以允许各种异步任务操作。由于我的项目使用了很多任务,我一直在尝试确定我是否真的需要这个开关。

我无法确定的是,在这种情况下,“Windows NT”是专门指 Windows NT 还是基于 NT 的系统。我在这个主题上的搜索变成了空白。

这对我来说是个令人担忧的问题,因为包含轮询代码会对我的项目的运行时性能产生严重影响。没有它,一切似乎都可以正常工作,但是我没有时间进行广泛的测试,而且我仍然害怕我不知道的东西最终会咬我。

所以总结一下:在 Windows 系统上执行任务仍然需要 -gnatP 吗?如果是这样,有没有一种方法可以手动调用轮询器,以便我至少可以对其进行一些控制?

0 投票
1 回答
334 浏览

oop - 文字字符串预期错误

请看下面的代码

当我在 GPS IDE 中单击“全部构建”时,出现此错误

我对 Ada 很陌生,如您所见,这是我的第一个程序。请帮忙。

0 投票
1 回答
8837 浏览

ada - Ada 函数与过程

谁能解释一下Ada“程序”和“功能”之间的区别?

0 投票
2 回答
2073 浏览

oop - 无法为文件生成代码

请看下面的代码

公式.ads

公式.adb

当我运行此代码时,出现以下错误

我对艾达很陌生。几个小时前开始编码。请帮助我摆脱上述问题。谢谢你。

编辑

公式.gpr

0 投票
2 回答
1194 浏览

ada - Ada 在 Linux Mint 中因“未在此系统上安装编译器”而失败

我在尝试获得一个有效的 Ada 编译器时遇到了一些困难。

我一直试图在 Windows 系统上安装 avr-ada。我提出了一些问题并得到了一些好的建议,但还没有。

从那以后,我尝试在 Mint Linux 系统上安装和使用 GNAT,但我一直卡住。我已经下载并安装了 gcc-4.8.0。

安装好了。

然后我想构建 GNAT Ada 编译器,但该手册并不完全有用。

每次我尝试查找 GNAT 的安装说明时,我都找不到任何可以立即使用的东西。

例如,我发现的详细信息状态:

“构建Ada编译器有特殊要求,见下文”但似乎没有任何关于如何在任何地方构建Ada编译器的内容。

有任何想法吗?

0 投票
2 回答
5308 浏览

stack - Ada 初学者 Stack 程序

基本上,我有 2 个文件(.adb 和 .ads)。我对 Ada 以及如何编译 2 个文件完全陌生。该程序是一个基本的堆栈实现。编译 .adb 文件时出现此编译错误。

我拥有的 2 个文件是: abstract_char_stack.ads

另一个是test_adt_stack.adb

我究竟做错了什么?我只想让它编译并显示它应该做什么。这是一项研究计划类型的任务。但我不能让它编译或者不知道我是否做对了。

0 投票
3 回答
1201 浏览

size - 强制 Ada 对带有 gnat 4.4 的枚举类型使用最小规格大小

我有一个需要 4 位的枚举类型,但是当我声明该类型的变量时,编译器会为该变量分配 8 位。

下面是代码的简化版本。

这一切都适用于以前的 gnat 版本,但不适用于 gnat 4.4.6。我了解 gnat 符合 Ada 规范。

有没有办法强制编译器将上面示例中的 AB_var 设为 4 位?我试过'Object_Size,但它需要是8位的倍数。

0 投票
1 回答
5476 浏览

ada - Ada 索引检查失败

尝试运行此程序时出现错误:

引发 CONSTRAINT_ERROR:bifid.adb:55 索引检查失败

我不确定这个错误来自哪里或它的确切含义。有问题的行是

任何帮助将不胜感激。我正在使用 Ada 95 和 GNAT 编译器。

0 投票
1 回答
949 浏览

ada - 使用 win32 在 AdaGIDE 中编译时出错

我在使用 AdaGIDE 编译器及其库时遇到了一些问题。我在 Windows XP 上安装了 GNAT 2013 和 AdaGIDE 7.45。当我试图编译任何需要 win32(例如with win32.winnt;)的代码时,AdaGIDE 的控制台会显示file "win32.ads" not found.

我在网上搜索并找到了这个,按照说明安装了 win32 包,运行了 setpath.bat,我什至尝试将库复制到我找到的每个 GNAT 文件夹中 - 但没有任何效果。当我使用我的程序将 win32.ads 复制到文件夹时,它需要更多库,所以我想将它们全部复制到我的程序目录中也不是一个好主意。

有谁知道如何处理这个问题?

- 编辑 -

我与 AdaGIDE 的创建者聊了一会儿,我所要做的就是将当前目录中的 Tools -> Project setting 中的 Compiler Options 设置为:

-Ic:\GNAT\2012\include\win32ada -Ic:\gnat\2012\lib\win32ada\static

c:\GNAT\2012\include\win32ada 是我安装 Win32Ada 的位置,您还必须确保其中\static\有一个名为libwin32ada.a.

不幸的是,每个新项目都必须重复它。