我正在尝试使用以下方法设置USB串行端口:GNAT.SERIAL_COMMUNICATIONS。我可以打开端口,但是当我尝试设置端口的属性时,出现以下异常raisedGNAT.SERIAL_COMMUNICATIONS.SERIAL_ERROR:set:cannotgetcommstate(6)有什么想法吗?肖恩 最佳答案 由于您使用的不是自然的WindowsCOM端口,而是设备驱动程序创建的额外COM端口,您可能对thisquestion感兴趣(尤其是我对此的回答)。摘要是有时具有正常名称的程序无法访问虚拟COM端口。在放弃"CO
有谁知道如何使用C中的WindowsApi来检测SD卡读卡器是否插入了卡?平台:windowsxp/visa/7/8。我用谷歌搜索并查看了WindowsAPI文档(我不熟悉它,所以可能错过了很多),但一直找不到答案。我看过这篇文章HowcanIdetectwhenanSDcardispluggedin?-这很接近但没有给我我需要的东西,因为我不想检测状态的变化,而是在查询时它处于什么状态。(如果碰巧有人有这个的Ada实现,那就太棒了,否则我打算只与C链接)谢谢你的帮助马特 最佳答案 我使用WindowsAPI调用GetVolumeI
-gnatP(为异步任务分配操作启用轮询)开关有什么用?我正在使用GNAT开发一个相当大的游戏项目,文档声称WindowsNT需要此开关以允许各种异步任务分配操作。由于我的项目使用了很多任务,我一直在尝试确定我是否真的需要这个开关。我无法确定的是,此上下文中的“WindowsNT”是特指WindowsNT还是基于NT的系统。我对这个主题的搜索结果为空。这对我来说是个问题,因为包含轮询代码对我的项目的运行时性能有严重影响。没有它一切似乎都能正常工作,但我没有时间进行广泛的测试,我仍然担心我不知道的东西最终会咬我。总结一下:在Windows系统上执行任务还需要-gnatP吗?如果是这样,有
我需要将WindowsC++程序连接到旧版GNATAda程序。Windows程序将遗留的Ada程序生成为一个单独的进程,然后等待它返回。我可以将Ada主程序编写为返回整数的函数。我可以在Window中看到,我可以通过调用WaitForSingleObject()等待进程完成,并且我可以调用GetExitCodeProcess()-但这些似乎都不是告诉我Ada程序返回了什么——我说得对吗?返回值似乎是调用本身是否返回错误,而不是被调用的进程。我应该查看进程信息句柄还是类似的东西?谁能告诉我如何将Ada程序的返回值返回给调用Windows程序? 最佳答案
我已经在Windows10上安装了gnatgpl2016,并尝试使用gnatmake编译以下(小)程序。问题是由于从libc导入一个函数,任务似乎比简单的gnatmake.exegsh_repl.adb复杂得多[gnatmake可以在linux上很好地编译它——在最坏的情况下添加-lglibc就足够了]。我的问题是我不知道应该添加哪个选项才能使链接阶段成功完成。这是程序:withAda.Text_IO;withSystem;procedureGSH_ReplisfunctionSystem(Command:inString)returnIntegerisActual_Cmd:alias
据我了解,默认情况下,Character是Latin_1,Wide_Character是UCS-2,Wide_Wide_Character是UCS-4,但是GNAT可以指定pragmaWide_Character_Encoding(UTF8);或-gnatW8并且这些字符及其字符串将改为UTF-8编码。至少在Linux和FreeBSD上,结果符合我的预期。但在Windows上,结果很奇怪。对于Wide或Wide_Wide变体,一旦字符超出ASCII集,我就会遇到乱码。我相信这被一些人称为emojibake。所以我认为这是一个代码页问题。毕竟,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.
我有一个使用Jboss、Seam、Hibernate和h2的应用程序。我编写了一个简单的操作,用于将数据从外部文件导入数据库。@Name("importAction")@AutoCreate@Scope(ScopeType.CONVERSATION)@TransactionalpublicclassImportCosActionextendsAbstractAction{saveOrUpdate(member);protectedvoidsaveOrUpdate(AbstractEntityentity){finalSessionsession=getSession();session
也许C++和Java的人可以帮助我定义我要解释的这个问题。我在Ada中有一个问题(你不需要知道它,我只是对这个概念感兴趣)关于如何表示实现动态标识符三个主要分支的类的构造函数:纯数值(整数、float、字符串等)列出/堆叠项目C++中的东西可能是线程(在Ada中,我们对此有更广泛的概念,与任务相关,但我们可以将一个简单的任务概念为一个线程,所以这个概念也适用)我要调用这个类Par_Class,并将任何构造的对象调用Par_Obj。因此,当一个对象Par_Obj被创建时(因此,数字值被初始化,列表/堆栈分配了其他列表/堆栈或为空并且线程执行的内存范围被保留),操作系统自动开始与我的主应用