用OpenVMS平台在Ada 83中开发了一个应用程序,该应用程序将使用GNAT Ada编译器迁移到Itanium。
发布于 2018-02-12 07:28:06
浮点类型的问题将在编译时检测到.我不记得DEC Ada有多大的限制,但我在英特尔架构上的经验是,你最多可以有18位数字,这比我在DEC Alpha上使用的小虫要多。
我曾经开发过一个应用程序,它是从DEC移植到GNAT的。据我所知,所有移植问题要么与表示子句有关,要么与源文本中的普通bug有关,DEC Ada没有检测到这些错误。
我猜你应该用1天/米线+2小时/表示子句来计算。
当然,还有时间运行完整的测试套件。
发布于 2018-02-12 09:33:32
DEC雇佣了ACT (现在的AdaCore)来使GNAT编译器兼容,所以最大的努力很可能是告诉小虫文件的名称是什么。一旦小虫知道了Ada单元所包含的文件,使用-gnat83选项应该处理除平台特定代码之外的所有东西,并可能指出它无法处理的特定平台代码。使用-gnat95选项,您可能会遇到更多的不一致,但是编译器应该指出这些,而且大多数Ada-83代码都是有效的Ada 95。*迁移到该语言的更高版本(-gnat05和-gnat12)将增加出现问题的机会。
一旦你设置好了,那么小虫就可以编译你的代码了,用-gnat83编译应该会让你了解需要付出的努力。很有可能它会变得相当小。
*我曾经简单地通过重新编译将几千个Ada-83代码的终止符分号移植到Ada 95。当然,该代码的设计和实现是正确的,使其独立于编译器和平台,幸运的是,它没有使用任何新的Ada-95保留字作为标识符。YMMV
发布于 2018-11-22 15:59:49
我看到这个很晚了。只是关于FP的精确性。您可以将DEC特定的FP与GNAT一起使用。您只需重新编译指定选择DEC格式的所有ada库即可。
https://stackoverflow.com/questions/48736534
复制相似问题