问题标签 [ada]

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 回答
9180 浏览

ada - 如何打印 ada 访问变量指向的地址?

我想打印访问变量(指针)的地址以进行调试。

Address_Image 返回地址的字符串表示形式。
System.Address_To_Access_Conversions 是一个通用包,用于在地址和访问类型之间进行转换(参见ARM 13.7.2),定义如下:

gnat 给我上面定义的过程 foo 的以下错误:

Object_Pointer 定义为访问所有对象。据我了解,Object 类型是 Node,因此 Object_Ptr 可以访问所有 Node。蚊子在抱怨什么?
我想我对 Ada 泛型的理解是有缺陷的,我没有正确使用 System.Address_To_Access_Conversions。

编辑:我用“gnatmake -gnatG”编译了我的代码以查看通用实例化:

btree__node 是上面定义的类型 Node 的重命名,所以我真的认为 to_address() 的参数类型是正确的,但是 gnat 抱怨(见上文)。

0 投票
2 回答
289 浏览

ada - ADA语言中涉及程序的怀疑

我是 Ada 的初学者,我遇到了如下所示的一段代码:

现在据我所知,Ada 中的程序不会返回任何内容。我的疑问是这个过程 Null_proc 做什么?我的意思是我不清楚程序的定义。

0 投票
4 回答
5208 浏览

file-io - 如何将 Ada.Real_TIme.Time 转换为字符串?

我想在一个文件中写一个Ada.Real_Time.Time ,

我怎样才能做到这一点?

谢谢

0 投票
1 回答
691 浏览

time - ADA Real_time string

Possible duplicate: How to convert a Ada.Real_TIme.Time to a string?

How can I convert a Time type obtained with a Ada.Real_Time.Clock to a String type in Ada ?

0 投票
2 回答
17727 浏览

ada - Ada中IN OUT的使用

下面给出的是ada中的一些代码

TYPE_VECT_B 包规范和主体也在下面定义

变量 In_State 和 Out_State 实际上是什么意思?我认为 In_State 表示输入变量。我只是对 Out_State 的实际含义感到困惑?

0 投票
1 回答
453 浏览

ada - 在ada中使用insert?

谁能告诉我在 Ada 语言中插入的用法。我已经尝试过网络,但我无法弄清楚。如果有人也可以为我提供示例,那将是一个很大的帮助。

在此先感谢麦迪

0 投票
4 回答
405 浏览

ada - 这两个文件有什么区别吗?

我有两个 ada 文件如下所示

A1.ada

下面显示的是B1.ada

这两个文件有什么区别吗?

0 投票
1 回答
2356 浏览

file - 在 Ada 中追加文件操作

我对 Ada 很陌生,我发现很难掌握的一件事是在文件中附加一些值时使用 Ada 中的文件。我在 C 中这样做似乎更容易。无论如何,我还没有找到好的信息,我希望有人可以在这里帮助我。

我首先声明以下内容:

然后我创建一个文件“bvalues.dat”:

然后写一个名为“最大”的变量,我使用:

我看到每次运行代码时,文件“bvalues.dat”都会被破坏,并在程序运行时将新值写入其中。这对我来说没问题。我在我的代码中所做的是找到一些值的最大值并将最大的元素存储在文件“bvalues.dat”中。

现在说我必须在同一个程序中使用不同的值集重复操作(比如使用外部循环),并且我需要存储每组值的最大元素。因此,我需要能够将每个集合的每个最大值附加到文件“bvalues.dat”中。如何做到这一点?

每次写入最大值后是否需要关闭文件“bvalues.dat”然后再次打开:

说在外循环中的索引被递增以获取下一组要计算最大元素的值之后,然后像我上面那样写

新信息:

我得到错误:

非常感谢...


测试文件:

在编译时我得到:

  1. 例外

    1. 当 Name_Error => |

      “Name_Error”在 a-sequio.ads:111 处不可见不可见声明,在第 5 行的实例在 a-textio.ads:298 处不可见声明在 a-ioexce.ads:23 处不可见声明

    2. 创建(文件=> Flo_File,模式=> Out_File,名称=>“bvalues.dat”);|

      “创建”在 a-sequio.ads:73 处是不可见的不可见声明,在第 5 行的实例在 a-textio.ads:90 处不可见声明

    15.

如果我也放 Seq_Float_IO.Out_File 而不是只放 Out_File,它不会改变。

0 投票
2 回答
900 浏览

file - Ada 文件操作:实例化和异常

我正在学习 Ada,我需要对文件操作进行一些说明。我只有一种类型:float,我必须创建 2 个存储浮点值的文件(使用附加操作)。所以我为浮点类型实例化了一个包,然后我声明了 2 个文件变量 X_File 和 Y_File。然后我放了例外,以防文件不存在。

对于每个文件 xvalues.dat 和 yvalues.dat ,我有两个单独的例外。现在在编译时,我收到错误消息:

看来我只能为 xvalues.dat 提供 1 个例外,而不能为 yvalues.dat 提供第二个例外。我究竟做错了什么?

非常感谢...


一些修改:编写一个通用过程来打开和附加文件中的值:

在过程 Open_Data 中。我将 Name => 的 2 个字段留空,因为我不知道该放什么。

而且我还放了 File => File...这似乎不行!!!

0 投票
3 回答
518 浏览

debugging - AdaGide:调试模式和发布模式

如果我理解正确,那么发布模式使程序比在调试模式下运行程序运行得更快。

一个普遍的问题是,是否必须首先在调试模式下运行程序,然后切换到在发布模式下运行程序才能让发布模式“跳过”它在调试模式下运行时通常进行的检查?或者是否能够在一开始就以发布模式直接运行程序?

现在谈到 AdaGide,我在 Compile 下看到了选项 debug mode 和 release mode。在发布模式旁边打勾是让 AdaGide 在发布模式下运行程序所需的全部内容吗?我正在使用 GNAT GPL 编译器。

非常感谢...