问题标签 [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 回答
554 浏览

gcc - ada95 有 3 个文件 .ali、.adb 和 .o - 我可以编译吗

我找到了一些旧的大学工作,我的最后一个 Ada95 项目就在上面。遗憾的是,光盘已损坏,我只恢复了 3 个文件(无法恢复源和可执行文件):

project.adb、project.ali 和 project.o

这3个文件足以编译一个新的exe吗?我现在正在下载 gnat 编译器,但不得不承认,我几乎忘记了与 ada 相关的所有内容......

坦率

[编辑] shucks.... 使用 GCC 编译 project.adb 会引发有关丢失广告文件的错误,我无法恢复。

是否可以提取/编译“.o”或“.ali”文件?或者,我吃饱了吗?

0 投票
2 回答
2416 浏览

ada - 你如何编写代码来确定 Ada 中值的对数?

使用 Ada (GNAT):我需要确定给定值的 10 次方。最明显的方法是使用对数;但这无法编译。

错误:

  • utility.adb:495:26:“日志”不可见
    • utility.adb:495:26:a-ngelfu.ads:24 的不可见声明,第 482 行的实例
    • utility.adb:495:26:a-ngelfu.ads:23 处的不可见声明,第 482 行的实例

然后我尝试引用包,但这也失败了:

错误:

  • utility.adb:495:41:没有候选解释与实际相符:
  • utility.adb:495:41:调用“Log”的参数太多
  • utility.adb:495:53:预期类型“Standard.Float”
  • utility.adb:495:53:在 a-ngelfu.ads:24 处对“Log”的调用中找到类型通用整数 ==>,第 482 行的实例
0 投票
4 回答
1608 浏览

c++ - 崩溃的 C++ 应用程序(包括 ada dll)不会生成核心转储

如何在崩溃时获取包含加载的 ada 共享库的 C++ 应用程序以生成核心转储?

我有一个加载 ada 共享库的 C++ 应用程序,在 ada 代码中出现堆栈溢出错误,导致程序终止以及控制台输出:

即使您在启动应用程序之前发出了“ulimit -c unlimited”,也不会生成核心转储文件。

如果我向应用程序发送 kill SIGSEGV也会发生同样的事情 。

将kill SIGSEGV发送到另一个不使用 ada dll 的应用程序会按照我想要的方式生成核心转储文件。

在这里找到了一些信息:http: //objectmix.com/ada/301203-gnat-fstack-check-does-work.html

更新!正如 Adrien 所说,没有矛盾,-s设置堆栈限制,而-c设置核心文件限制。

问题仍然存在。我在构建 ada 库时检查了这些标志,但未设置fstack-check标志,因此它应该生成核心转储。

虽然我还没有尝试过,但它似乎有些奇怪。它提到了 -fstack-check 编译器选项 + 设置 GNAT_STACK_LIMIT 变量,但同时提到了 ulimit 命令,这似乎是一个矛盾,设置“ulimit -c”是我知道生成核心转储的唯一方法在崩溃时,如果这通过 fstack-check 选项推断,那么我们有一个 catch 22。

0 投票
5 回答
3797 浏览

string - 如何从 Ada 中的其他字符串构建字符串?

我想在日志文件中输出一个标题行,然后在数据之前输出一行“-”。为此,我创建了一个标题字符串,然后输出相同数量的“-”。

但是下面的代码总是失败并出现 CONSTRAINT_ERROR,因为生成的字符串不是 1024 个字符。在 Ada 中,字符串分配需要完全相同的长度,而不仅仅是足够的容量。

选项 1) 是计算确切的长度,但这对未来的变化很脆弱。选项 2) 是使用 String 以外的东西。

0 投票
4 回答
4816 浏览

ada - 在 Ada 中使用 Pragmas

谁能给我提供简单的工作示例来说明 Ada 2005 中编译指示的使用?我知道编译指示用于优先处理过程,只是我没有遇到工作示例!

非常感激 !

0 投票
1 回答
91 浏览

windows - 我可以从 Athlon 64 3800 在 Ada 上编写并发程序获得任何优势吗?

出于特殊原因,我仅限于 ObjectAda 7.2。我是否需要安装 64 位操作系统(在我的情况下为 Win 64x)来编写和运行此类程序?

0 投票
3 回答
2395 浏览

ada - 无法访问 Ada 泛型参数的成员

我正在尝试编写一个通用包,所需的操作之一是校验和通过总线接收的数据记录。记录类型会有所不同,它是一个通用参数。但是,任何访问泛型参数成员的尝试都会导致编译错误。

错误......(Ada 95 GNAT 2009)

宣言...

还有身体...

0 投票
1 回答
2149 浏览

ada - 在 Ada 中查找字符串中的字符

有没有一种简单的方法来检查给定字符是否在字符串中?
我知道如果字符串只是一个范围(比如'a'..'z'),那么我可以使用in运算符,但我需要一些char in "- _,.". 在 Ada 中这样做的最佳方式是什么?

0 投票
1 回答
1472 浏览

types - Ada 中的多类型继承

假设我有以下内容:

我希望我可以做这样的事情:

所以理论上我现在可以访问 blah3.element1 和 blah3.element2

这可能吗?和任何提示或提示?

更新:

是否可以使用指针引用 blah3 的元素(包含 blah 和 blah2)?

IE(这只是一个粗略的想法代码太糟糕了......哈哈)

然后例如可以通过 blah3.element1 访问吗?

0 投票
4 回答
301 浏览

ada - 在 Ada-2005 中模拟 6 面骰子

在 Java、Python、Ruby 和 Bash 中,我非常明确地遇到了“模拟 6 面骰子”(它产生一个介于 1 和 6 之间的随机整数,所有结果都同样可能)。但是,我还没有在 Ada 中看到类似的程序。有人遇到过吗?