问题标签 [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 - Adacore Gnat 版本和“标准”版本有什么区别
我试图了解 Adacore Libre 版本随附的 Gnat 编译器与 Linux 发行版或 MinGw 中的 gcc 标准版本之间的根本区别。
我认为主要区别可能是 Adacore 版本始终是最新版本,而您从 Linux 发行版中获得的可能是发行版打包之日可用的版本。
但是也有功能上的区别吗?这意味着 Adacore 版本中是否有任何改进的功能,它们不会发布到 Gnu 提供的通用开源版本?
我不是一个非常有经验的 Linux 用户,所以很抱歉,如果这对 Gnu/开源世界有更多的经验是透明的,但我找不到任何关于这个的信息。
garbage-collection - 将 libgc 与 GNAT 一起使用?
我听说过几次提到 Ada 支持垃圾收集 --- 并且看看语言设计,显然它是在设计时考虑到这一点的。
我有一个非实时应用程序,垃圾收集对它非常非常有用。但是,我还没有看到任何关于我的编译器 GNAT 可以使用垃圾收集器的消息。这让我很吃惊;甚至 C 也支持垃圾收集,只需链接到 libgc。
如果我只是将 libgc 添加到我的链接器行,它会起作用还是会发生可怕的事情?
ada - 在哪里下载 AUnit 3(用于 Ada)?
哪里可以下载 Ada(特别是 GNAT-4.9)的 AUnit(AFAIK,最新版本是 3)?
我不在乎这个 AUnit 是否获得 GPL 许可,因为它仅用于我的测试程序,测试程序的许可无关紧要。
我有一个 Debian 系统gnat-4.9
。libaunit2-dev
此版本的 GNAT 不安装该软件包。似乎libaunit2-dev
是 AUnit 1 而不是 AUnit 3。我更喜欢最新版本。
opengl - 如何让 GNAT Programming Studio 和 ADAGide 识别 OpenGL ADA 绑定?
在使用 OpenGL 和 Ada 时,我遇到了一些严重的问题,在学习如何在我的 ADA IDE(包括 GPS 和 ADAGide)中访问 opengl 调用时。每次我尝试编译或构建程序时,都会收到一条错误消息,指出当我尝试运行或构建绑定中包含的 test.gpr 时找不到“c:/openglada/lib”。
尝试在 ADAGide 中编译时,我收到类似的错误消息,说“找不到 opengl-gl/glut.ads,即使该文件夹显然在我的硬盘上..
我需要做什么来纠正这个问题?我已经快四天没能解决这个问题了。我在 32 位的 Windows 7 中工作。
ada - Ada 2012 初学者书籍
我知道这类问题并没有被禁止,但无论如何。我想学习Ada 2012(我从AdaCore下载了最新版本,所以我认为是2012),但是我在网上没有找到任何资料。我正在阅读这个http://www.pegasoft.ca/resources/boblap/book.html但我认为它已经过时了,因为代码中有很多我无法修复的错误。如果您知道 Internet 上有关 Ada 2012 的任何免费资料,请提供链接。我也看过这里http://en.wikibooks.org/wiki/Ada_Programming/Ada_2012但这适用于可以在 Ada 2005 上编程并且他们正在转向 2012 年的人。我将非常感谢所有提供帮助的人。
ada - Ada:我可以有两个不同的控制台窗口吗?
我将 GNAT 2014 用于 Ada 项目,我有一个简单的(我希望的)问题。我可以同时打开两个“控制台”吗?
让我解释一下原因:我的程序向控制台输出了大量的日志记录数据。我想要的是有两个单独的控制台,一个打印程序输出,一个接受用户输入。
这是可行的吗?或者这是在操作系统方面运行的东西,而 Ada 无法控制?我可以用 GtkAda 实现我想要的,但是因为我想使用尽可能少的 3rd 方库,所以我想先知道是否有本地方式(同时考虑到我需要发出的命令非常基本,比如“退出”或“暂停”,控制台输入就足够了)。
oop - Ada 中标记记录中的私有属性
从面向对象的范式思考,人们如何倾向于为标记记录实现私有属性?
目前,从我所见,唯一的方法是拥有一个私有类型的属性。
例如
其中 t_private_attributes 在包的私有部分中声明。
我想到的第二种方法是使用继承,例如
其中 car_private 在包的私有部分中声明。虽然我认为这个实现会非常混乱。
人们如何倾向于这样做?
谢谢马特
ada - Ada 95 编译器版本更改,存在转换问题
我正在处理一个最初使用 GNAT 3.13a1 编译的遗留 Ada 95 项目(继承自其他公司)。我已将编译器更新到 GNAT 4.7.4,以访问一些我想在进一步开发中使用的 GNAT 库,但我使用的是 -gnat95 标志。
我无法编译特定文件。这有点奇怪,因为它被命名为“Ada.Calendar.GMT”。这是新编译器的一个问题,它抱怨我无法定义一个包,它是 Ada 包树中包的子包。我认为这不是太大的问题,所以我将包的名称更改为“GMT_Library”,导入 Ada.Calendar 以访问它的类型,并更改文件的名称以适应(以防止进一步的编译器警告)。
但是现在编译器抱怨将 Ada.Calendar.Time 转换为 Duration 是无效的。具体来说,我收到以下错误:
除了更改包的名称和导入 Ada.Calendar 之外,我没有以任何其他方式更改此源文件或相应的规范文件。为什么这是 GNAT 3.13a1 中允许的操作?为什么它不再起作用,有解决办法吗?
编辑:
D 是 Duration,Date 是 Ada.Calendar.Time。
经过进一步调查,最初的开发人员似乎大多复制了此处定义的 Ada.Calendar 的实现。该文件在拆分过程中执行相同的转换。那么为什么标准库可以这样做呢?
static - 动态链接 libgnat
我正在尝试编译一个非常简单的ADA代码。一切都像魅力一样,但在一台计算机上,我的可执行文件动态链接到libgnat,而在另一台计算机上,它是静态链接的。在这两种情况下,我都使用gnatmake工具。
知道为什么会这样吗?你知道强制 GNAT 动态链接库的方法吗?