问题标签 [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 投票
3 回答
7727 浏览

ada - 如何使用带有 Ada 共享库的 gnatmake 进行编译和链接?

我在花店图书馆再次编译申请人时遇到了麻烦。原来我对花店有一个更大的问题(最新的 2010 Adacore GPL 下载和 Debian 存档中的 2009 版本都导致相同的错误)。Florist 有一些低级问题,但是当我查看生成的文件时,它似乎正确地包含了 errno.h。

这是我建立花店时发生的事情:

对“c_ntohs”的未定义引用 ./posix-io.o:在函数“posix__io__open”中:posix-io.adb:(.text+0x4d1):对“__gnat_florist_open”的未定义引用。/posix-io.o:在函数中posix__io__open_or_create': posix-io.adb:(.text+0xfca): undefined reference to `__gnat_florist_open' collect2: ld returned 1 exit status gnatlink: error when calling /usr/bin/gcc-4.4 gnatmake: *** link failed。josh@Mini10:~/Demo$ gnatbind -I/usr/share/ada/adainclude/florist -I/usr/include 演示 josh@Mini10:~/Demo$ gnatlink demo ./posix-implementation.o: 在函数 `posix__implementation__set_ada_error_code ': posix-implementation.adb:(.text+0x19e): 未定义引用 `store_errno' ./posix-implementation.o: 在函数 `posix__implementation__get_ada_error_code': posix-implementation.adb:(.text+0x1ab):

如果正确包含 errno.h 存在问题,则此错误似乎很常见。但据我从 posix-cc 文件中可以看出,这一切看起来都是正确的。有人对如何解决这个问题有任何建议吗?Florist 的 make 文件构建正确,所以我不知道这是从哪里来的。

0 投票
2 回答
830 浏览

xcode - 不能让 Ada 与 Xcode 3.2 一起工作

我已经在网上浏览了一个小时,我只是放弃在这里问它......我必须在 Ada 手下工作。我设法让 gnat 作为命令行来编译我的文件。但我希望能够在 Xcode 中拥有合适的项目。我的问题是我在 ada 默认模板上找到了一些模板,我已经将它们复制粘贴到各处(/library/developer/application support 等),但是当我想创建时它们从未出现在列表中项目。

我的另一个问题是,当我创建一个空项目并向其中添加一个 .adb 文件时,我根本无法编译...如何指定我应该使用 gnat 呢?

如果这些问题很愚蠢,我很抱歉,但我找不到答案......

0 投票
1 回答
400 浏览

ada - 带有 gnatpp 查询的 Ada 代码布局

我正在尝试使用 gnatpp 来改进一些 ada 代码的布局,但是当重新格式化过程调用时,它会将命名参数放在同一行,而不是像我喜欢的那样放在单独的行上。我使用的开关是:

我知道 -A0 应该关闭所有对齐问题......

知道我是如何误读它们的吗?

0 投票
2 回答
8021 浏览

ada - 包不可见错误

我在包裹可见性方面遇到了麻烦。我有一个非常简单的包,下面列出了代码。错误消息显示在这里:

封装规格如下:

包体如下:

我的包裹体中的什么导致包裹保持隐藏状态?use 子句不应该将 Integer_Text_IO 纳入视野吗?

0 投票
2 回答
5315 浏览

ada - Ada 用字符串切片

我是一个长期学习 Ada 的 C++ 程序员。如果以下任何一种形式不好,请随时指出。我正在尝试学习 Ada 做事的方式,但旧习惯很难改掉(我想念 Boost!)

我正在尝试加载一个包含整数、空格和字符串的文件。可能有更好的方法来做到这一点,但我认为我应该将该行加载到我知道不会超过 80 个字符的字符串缓冲区中。我在适当的地方声明了一个缓冲区变量,如下所示:

打开文件后,我循环遍历每一行并在空格字符处拆分缓冲区:

Add_Entry 中发生的事情并不重要,但它的规范如下所示:

我想使用无界字符串而不是有界字符串,因为我不想担心必须在这里和那里指定大小。这编译并且工作正常,但是在 Add_Entry 中,当我尝试遍历 Entry_String 中的每个字符时,而不是让索引从 1 开始,它们从原始字符串中的偏移量开始。例如,如果 Line_Buffer 是“14 硅”,如果我如下循环,则索引从 4 变为 10。

有没有更好的方法来进行这种解析,以便我传递给 Add_Entry 的字符串具有以 1 开头的边界?此外,当我将切片字符串作为“in”参数传递给过程时,是在堆栈上创建了一个副本,还是使用了对原始字符串的引用?

0 投票
2 回答
3384 浏览

gcc - Ada 版本的命令行?

我正在寻找一个命令行来检查我的 Ada 安装版本。有什么帮助吗?

0 投票
1 回答
916 浏览

stack - 在 GNAT 编译的 Ada 中转储当前堆栈?

在 java 中,我有时会使用此方法来查看我在当前堆栈中的位置:

http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html#dumpStack()

我是 Ada 世界的新手,但很好奇是否有类似的东西?

0 投票
2 回答
646 浏览

multicore - 在 GNAT 中为任务设置特定的 cpu 核心

我正在使用 Gnat 并想为其中一项任务设置一个特定的执行核心。问题是我找不到任何文档。尽管添加了 System.Multiprocessor,正如这里这里所提到的,编译器一直说它不是预定义的库单元。即使我添加-gnat12标志也会发生这种情况。关于如何使用该功能的任何建议?

0 投票
3 回答
635 浏览

static - Ada 编译问题(寻找我没有的 adbs?)

我正在尝试使用 gnatmake 将第三方库编译到我现有的应用程序中。我收到此错误:

我将这些添加到构建 adp 的 gnatmake 中。-I 包含所有规范(.ads 文件),而 libnddsadad 包含所有 o 文件:

为什么它需要实际的正文文件?specs + .a 文件不应该足够吗?我该如何规避这个?

0 投票
3 回答
774 浏览

coding-style - 如何编写 gnatcheck 规则

是否可以编写自己的 gnatcheck 规则,如果可以,有人可以指点我一个好的参考吗?我正在寻找一种正在使用的特定“风格”,如果我能简单地写一个规则,如果你看到所说的风格,它会抛出一个警告或错误,这样我们就可以在这种情况下进行标记没有遵循特定的标准。