问题标签 [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.
gcc - ada95 有 3 个文件 .ali、.adb 和 .o - 我可以编译吗
我找到了一些旧的大学工作,我的最后一个 Ada95 项目就在上面。遗憾的是,光盘已损坏,我只恢复了 3 个文件(无法恢复源和可执行文件):
project.adb、project.ali 和 project.o
这3个文件足以编译一个新的exe吗?我现在正在下载 gnat 编译器,但不得不承认,我几乎忘记了与 ada 相关的所有内容......
坦率
[编辑] shucks.... 使用 GCC 编译 project.adb 会引发有关丢失广告文件的错误,我无法恢复。
是否可以提取/编译“.o”或“.ali”文件?或者,我吃饱了吗?
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 行的实例
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。
string - 如何从 Ada 中的其他字符串构建字符串?
我想在日志文件中输出一个标题行,然后在数据之前输出一行“-”。为此,我创建了一个标题字符串,然后输出相同数量的“-”。
但是下面的代码总是失败并出现 CONSTRAINT_ERROR,因为生成的字符串不是 1024 个字符。在 Ada 中,字符串分配需要完全相同的长度,而不仅仅是足够的容量。
选项 1) 是计算确切的长度,但这对未来的变化很脆弱。选项 2) 是使用 String 以外的东西。
ada - 在 Ada 中使用 Pragmas
谁能给我提供简单的工作示例来说明 Ada 2005 中编译指示的使用?我知道编译指示用于优先处理过程,只是我没有遇到工作示例!
非常感激 !
windows - 我可以从 Athlon 64 3800 在 Ada 上编写并发程序获得任何优势吗?
出于特殊原因,我仅限于 ObjectAda 7.2。我是否需要安装 64 位操作系统(在我的情况下为 Win 64x)来编写和运行此类程序?
ada - 无法访问 Ada 泛型参数的成员
我正在尝试编写一个通用包,所需的操作之一是校验和通过总线接收的数据记录。记录类型会有所不同,它是一个通用参数。但是,任何访问泛型参数成员的尝试都会导致编译错误。
错误......(Ada 95 GNAT 2009)
宣言...
还有身体...
ada - 在 Ada 中查找字符串中的字符
有没有一种简单的方法来检查给定字符是否在字符串中?
我知道如果字符串只是一个范围(比如'a'..'z'
),那么我可以使用in
运算符,但我需要一些char in "- _,."
. 在 Ada 中这样做的最佳方式是什么?
types - Ada 中的多类型继承
假设我有以下内容:
我希望我可以做这样的事情:
所以理论上我现在可以访问 blah3.element1 和 blah3.element2
这可能吗?和任何提示或提示?
更新:
是否可以使用指针引用 blah3 的元素(包含 blah 和 blah2)?
IE(这只是一个粗略的想法代码太糟糕了......哈哈)
然后例如可以通过 blah3.element1 访问吗?
ada - 在 Ada-2005 中模拟 6 面骰子
在 Java、Python、Ruby 和 Bash 中,我非常明确地遇到了“模拟 6 面骰子”(它产生一个介于 1 和 6 之间的随机整数,所有结果都同样可能)。但是,我还没有在 Ada 中看到类似的程序。有人遇到过吗?