将用Ada编写的Windows / Mac应用程序移植到iOS

问题描述

|| 我拥有一个字典应用程序(将文本作为输入,输出定义+语法分析)。我拥有用Ada编写的所有源文件(约50页代码),以及Windows和Unix可执行文件。我希望能够在iOS应用中使用此词典。 我对Ada一点都不熟悉,所以我的问题是,简而言之-是否有任何快捷方式可以包装应用程序并在iOS上使用它?还是仅用C / Objective-C重写整个应用程序的唯一方法?     

解决方法

Shark8提到了以JVM为目标的Ada。 ACT出售针对JVM的Gnat版本。但是,我不认为iOS设备当前运行Java。 Apple不想失去对该平台的控制权,因此他们不允许除自己的以外(基于Objective C的)任何开发环境。我知道Java团队正在努力解决此问题,但是即使他们这样做,Apple可能也会拒绝允许任何此类应用程序进入其在线商店。请注意,这不是Ada特有的问题。用C或Objective C以外的任何语言编写的任何应用程序在iOS中都存在相同的问题。 (这是开发人员倾向于将Android平台定位为iOS而不是iOS的众多原因之一)。 因此,您真正需要的是可以使代码与Apple的Objective C编译器可编译的东西。假设目标C是C的严格超集。如果这对于Apple的实现是正确的,则输出可编译C源代码的Ada编译器应为您完成这项工作。 幸运的是,有一个这样的Ada编译器(或者至少以前有)。 AdaMagic在某一时刻将C用作“目标”。现在由SofCheck出售。几年前,当我最后一次看到有关它的讨论时,他们将其称为“服务”,与编译器一样多,因此它可能并不便宜。但是,如果您有真正的业务需求,那肯定比花很多年的时间重写可运行的应用程序便宜。 当然,您的另一种选择是说“拧紧苹果机和他们的操作系统”,然后为Android拍摄。可悲的是,出于商业原因,这可能不可行。 :-( 更新(2016/2012):由于两家公司于2012年初合并,因此SofCheck的资产已可从AdaCore获得。     ,  我希望能够在iOS应用中使用此词典。 好吧,如果有一个针对iOS的Ada编译器-并且可能考虑到GCC具有Ada前端-那么只要源代码不是编译器,就应该直接重复使用这些软件包, (适用于其他编译器)或特定于体系结构。 我将Ada移植到其他体系结构上的最丰富的经验是将我已经编译的一些代码移植到本机上到JVM(有一个针对JVM的Ada编译器)。 JVM的区分大小写与Ada区分大小写的类和程序包交互时,“陷阱”更多地沿线。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...