我正在尝试使用以下方法设置USB串行端口:GNAT.SERIAL_COMMUNICATIONS。我可以打开端口,但是当我尝试设置端口的属性时,出现以下异常raisedGNAT.SERIAL_COMMUNICATIONS.SERIAL_ERROR:set:cannotgetcommstate(6)有什么想法吗?肖恩 最佳答案 由于您使用的不是自然的WindowsCOM端口,而是设备驱动程序创建的额外COM端口,您可能对thisquestion感兴趣(尤其是我对此的回答)。摘要是有时具有正常名称的程序无法访问虚拟COM端口。在放弃"CO
-gnatP(为异步任务分配操作启用轮询)开关有什么用?我正在使用GNAT开发一个相当大的游戏项目,文档声称WindowsNT需要此开关以允许各种异步任务分配操作。由于我的项目使用了很多任务,我一直在尝试确定我是否真的需要这个开关。我无法确定的是,此上下文中的“WindowsNT”是特指WindowsNT还是基于NT的系统。我对这个主题的搜索结果为空。这对我来说是个问题,因为包含轮询代码对我的项目的运行时性能有严重影响。没有它一切似乎都能正常工作,但我没有时间进行广泛的测试,我仍然担心我不知道的东西最终会咬我。总结一下:在Windows系统上执行任务还需要-gnatP吗?如果是这样,有
我需要将WindowsC++程序连接到旧版GNATAda程序。Windows程序将遗留的Ada程序生成为一个单独的进程,然后等待它返回。我可以将Ada主程序编写为返回整数的函数。我可以在Window中看到,我可以通过调用WaitForSingleObject()等待进程完成,并且我可以调用GetExitCodeProcess()-但这些似乎都不是告诉我Ada程序返回了什么——我说得对吗?返回值似乎是调用本身是否返回错误,而不是被调用的进程。我应该查看进程信息句柄还是类似的东西?谁能告诉我如何将Ada程序的返回值返回给调用Windows程序? 最佳答案
我习惯于使用Win32Ada库为我为Windows创建的终端程序调用系统调用。系统调用足以实现对控制台的控制,但Ada标准库中的任何东西都做不到。检查GPS社区版的源列表,我发现缺少Win32Ada。我准备继续使用Win32Ada,但它的排除(就像几年前Linux构建的POSIX排除的情况一样)暗示有更好的方法来实现低级接口(interface)。任何人都可以给我最简单的代码或引用我如何以从现在开始支持的方式与Windows交互吗?之前的例子:pragmaAda_2012;withWin32;withAda.Text_IO;... 最佳答案
如果我想编译一个用Ada编写的程序,我当然必须使用GNAT。由于我的电脑只有Windows作为其唯一操作系统,所以我无法正常使用GNAT。正确的?因此,我得到了Cygwin,它使我能够在Windows上使用GNAT。但结果是在Windows下运行的可执行文件-而不是Linux。那么,如何在只有Windows的情况下为Linux编译Ada代码?(请不要去想原因……)这在Cygwin中可行吗?我必须安装带有Linux的虚拟机吗?或者是否有其他(更简单的)解决方案来解决这个问题? 最佳答案 IhavetouseGNAT,ofcourse.
好的,我正在考虑做一个多语言项目。我正在看Ada中的一部分。我已经知道AdaCore包,但我需要分别链接每个文件,这意味着直接通过GCC可能最容易。唯一的问题是GNAT显然主要是用Ada编写的,我似乎无法找到关于如何在任何地方安装它的指南。MinGW为我处理了一些其他语言,但显然GNAT不包括在内。提前致谢! 最佳答案 如果您稍后决定安装MinGWAda,您可以使用mingw-get命令更新现有安装,如下所示,例如mingw-get安装ada。可以找到更多详细信息here.如本相关answer中所建议,替代编译器有其用途.$ming
HowtoinstallGnatcollPostgresonLinuxCentos7我已经安装了gprbuild、xmlada和gnatcoll。我现在正在尝试安装gnatcoll_postgres。我从这里下载的:https://github.com/AdaCore/gnatcoll-db/在Postgres文件夹中有一个Makefile,我是这样执行的...1234567891011[parallels@localhostpostgres]$lsgnatcoll_postgres.gpr gnatcoll-sql-postgres-gnade.adsgnatcoll-sql-p
HowtoinstallGnatcollPostgresonLinuxCentos7我已经安装了gprbuild、xmlada和gnatcoll。我现在正在尝试安装gnatcoll_postgres。我从这里下载的:https://github.com/AdaCore/gnatcoll-db/在Postgres文件夹中有一个Makefile,我是这样执行的...1234567891011[parallels@localhostpostgres]$lsgnatcoll_postgres.gpr gnatcoll-sql-postgres-gnade.adsgnatcoll-sql-p