【问题标题】:Port Solaris Ada running on Sparc to PC将 Sparc 上运行的 Solaris Ada 移植到 PC
【发布时间】:2017-05-17 15:18:14
【问题描述】:

我继承了一个非常古老的工具,我们的客户希望它还能再使用 20 年。该工具是使用带有 Sun OS 5.6 和 SPARCworks Ada 3.0 和 Rational Ada 6.2.3c 的 Sparc Ultra 1 工作站开发的。该工具的一半在 Ultra 1 上运行,另一半在 MVME 卡上运行(我不担心那一半)。

所以我打算使用 VirtualBox、VMware 或 SimICS 来模拟硬件/操作系统。我不确定如何处理 OpenWindows 调用。我打算用 Java/Gnat Pro 替换它们,但这不会在模拟工作站上运行。帮助?有没有人有类似的经历?有什么想法吗?

附:我在 90 年代后期离开了 Sun/Solaris 世界,并没有跟上 :(

【问题讨论】:

  • 你是否想要原始硬件的虚拟化并不明显,例如here 或移植到例如x86 硬件上的 OpenSolaris(我不知道窗口支持;我记录了相关的移植工作here)或现代 Linux 上的现代 Ada。在最后一种情况下,您可能会查看 Gnoga(herehere)。
  • Rational Ada 不会碰巧使用 DIANA 中间表示,是吗?

标签: emulation solaris ada


【解决方案1】:

一般而言,较新版本的 Ada 足够向后兼容,因此切换到较新版本的语言(甚至是不同的编译器)相对简单(据报道,升级速率高达 34 行/秒)。

困难的部分是您(或您的前任)使用了特定于编译器的功能,或绑定到特定于操作系统的功能。

我很确定 PTC 已经购买了 Rational Ada 编译器并将其作为 PTC ApexAda 进行营销,因此您可以与他们联系以了解合理的迁移路径。

在重写 GUI 时(我假设这就是“OpenWindows”所指的内容),您有多种选择(按照适合您的问题的顺序):

  1. Gnoga - 基于 Web 的 GUI 工具包(GMGPL 风格的许可证)。
  2. GtkAda - 原生 GUI 工具包 (GPL)。
  3. AWS/Templates_Parser - 一个网络服务器工具包(GMGPL 风格的许可证)。
  4. QtAda/Qt5Ada - 原生 GUI 工具包(许可证未知)。
  5. (还有更多)

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 2011-09-02
    • 2013-10-06
    相关资源
    最近更新 更多