问题标签 [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.
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 文件构建正确,所以我不知道这是从哪里来的。
xcode - 不能让 Ada 与 Xcode 3.2 一起工作
我已经在网上浏览了一个小时,我只是放弃在这里问它......我必须在 Ada 手下工作。我设法让 gnat 作为命令行来编译我的文件。但我希望能够在 Xcode 中拥有合适的项目。我的问题是我在 ada 默认模板上找到了一些模板,我已经将它们复制粘贴到各处(/library/developer/application support 等),但是当我想创建时它们从未出现在列表中项目。
我的另一个问题是,当我创建一个空项目并向其中添加一个 .adb 文件时,我根本无法编译...如何指定我应该使用 gnat 呢?
如果这些问题很愚蠢,我很抱歉,但我找不到答案......
ada - 带有 gnatpp 查询的 Ada 代码布局
我正在尝试使用 gnatpp 来改进一些 ada 代码的布局,但是当重新格式化过程调用时,它会将命名参数放在同一行,而不是像我喜欢的那样放在单独的行上。我使用的开关是:
我知道 -A0 应该关闭所有对齐问题......
知道我是如何误读它们的吗?
ada - 包不可见错误
我在包裹可见性方面遇到了麻烦。我有一个非常简单的包,下面列出了代码。错误消息显示在这里:
封装规格如下:
包体如下:
我的包裹体中的什么导致包裹保持隐藏状态?use 子句不应该将 Integer_Text_IO 纳入视野吗?
ada - Ada 用字符串切片
我是一个长期学习 Ada 的 C++ 程序员。如果以下任何一种形式不好,请随时指出。我正在尝试学习 Ada 做事的方式,但旧习惯很难改掉(我想念 Boost!)
我正在尝试加载一个包含整数、空格和字符串的文件。可能有更好的方法来做到这一点,但我认为我应该将该行加载到我知道不会超过 80 个字符的字符串缓冲区中。我在适当的地方声明了一个缓冲区变量,如下所示:
打开文件后,我循环遍历每一行并在空格字符处拆分缓冲区:
Add_Entry 中发生的事情并不重要,但它的规范如下所示:
我想使用无界字符串而不是有界字符串,因为我不想担心必须在这里和那里指定大小。这编译并且工作正常,但是在 Add_Entry 中,当我尝试遍历 Entry_String 中的每个字符时,而不是让索引从 1 开始,它们从原始字符串中的偏移量开始。例如,如果 Line_Buffer 是“14 硅”,如果我如下循环,则索引从 4 变为 10。
有没有更好的方法来进行这种解析,以便我传递给 Add_Entry 的字符串具有以 1 开头的边界?此外,当我将切片字符串作为“in”参数传递给过程时,是在堆栈上创建了一个副本,还是使用了对原始字符串的引用?
gcc - Ada 版本的命令行?
我正在寻找一个命令行来检查我的 Ada 安装版本。有什么帮助吗?
stack - 在 GNAT 编译的 Ada 中转储当前堆栈?
在 java 中,我有时会使用此方法来查看我在当前堆栈中的位置:
http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html#dumpStack()
我是 Ada 世界的新手,但很好奇是否有类似的东西?
static - Ada 编译问题(寻找我没有的 adbs?)
我正在尝试使用 gnatmake 将第三方库编译到我现有的应用程序中。我收到此错误:
我将这些添加到构建 adp 的 gnatmake 中。-I 包含所有规范(.ads 文件),而 libnddsadad 包含所有 o 文件:
为什么它需要实际的正文文件?specs + .a 文件不应该足够吗?我该如何规避这个?
coding-style - 如何编写 gnatcheck 规则
是否可以编写自己的 gnatcheck 规则,如果可以,有人可以指点我一个好的参考吗?我正在寻找一种正在使用的特定“风格”,如果我能简单地写一个规则,如果你看到所说的风格,它会抛出一个警告或错误,这样我们就可以在这种情况下进行标记没有遵循特定的标准。