这个问题基于对此问题的讨论(现已删除)。它更多地涉及术语而非实际编程语义。 “泛型实例化”究竟是什么?它是在编译时还是运行时发生? 我将参考Ada 2012标准最新草案。 术语“generic_instantiation”的含义很清楚;它是一种语法结构,类似于: package Ins...
什么是它的含义?x AND THEN y AND z 它是什么x AND THEN (y AND z) 当 x 为 FALSE 时,y 和 z 不会被计算(x AND THEN y) AND z (如果 x 是 FALSE,则跳过 y,但有可能会计算 z)在Ada中是这样的吗?
我正在通过修复bug和阅读代码来学习Ada。我注意到有些if语句使用"and"连接,而其他的则使用"and then"。同样地,有一些地方使用了"or",而其他地方则使用了"or else"。我的同事说这只是一种语法糖,并没有什么区别。我想知道他是否正确?
我生活在一个非常安全/关键的Ada环境中,并养成了定义明确且有界的类型定义的习惯。我还面临着许多ASN1使用/传道者。 我周围一些人认为ASN1比协议缓冲区的一个关键特性是能够定义并因此检查数据范围。 是否真的协议缓冲区没有任何范围定义系统? 除了协议缓冲区之外,是否有任何方法可以提供这...
我刚刚读了《Ada编程》,但是我有点困惑如何在Ada中使用单引号'。 我可以理解'用于引用属性,例如AAA'Image(..),BBB'Value(..) 然而,考虑到下面这段代码: type Plain_Vector (Capacity : Capacity_Subtype) i...
通过阅读文档,我了解到Ada实时模块完全与操作系统隔离工作。它可以实现并发而不需要底层的操作系统和资源管理器。Ada处理任务分派、时间管理、任务状态转换、列表管理、任务优先级、锁定策略、调度策略、ISR、任务间通信等功能。 如果是这样的话,那么Ada实时模块就是一种实时操作系统?
我一直在努力理解Ada,最近读了一些关于Agda和Idris中依赖类型的内容。 可以说,在Ada中的子类型相当于依赖类型吗?
我试图在Ada 2012中进行一些基本的命令行交互,但我找不到从Ada.Command_Line.Command_Name()函数返回的字符串的捕获方法。 所有我能在网上找到的例子都只是使用Put()打印String,而没有先将它存储在本地变量中。这是我尝试过的有问题的代码,它虽然编译通过,...
有没有一组通用规则/准则,可以帮助理解何时更喜欢使用pragma Pure、pragma Preelaborate或其他完全不同的内容?在标准(Ada 2012)中呈现的规则和定义有点晦涩难懂,我很感激能读到一些更加清晰且针对平均情况的东西。 如果我想彻底而不完全理解其中的“原因”,我可以简...
请原谅这个比较宽泛的问题。我想知道如何创建一个针对裸机x86的Ada工具链。 我看到了Lucretia在osdev.org上的Ada Bare Bones教程,提供了一些有关构建适合裸机开发的运行时的有用信息。这一方面非常简单,但我不太确定如何为该平台构建交叉编译器,或者是否需要这样做。 我...