You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下是否存在支持XYplane模块的Oberon-2编译器?

Oberon-2 XYplane模块不兼容问题解决方案

XYplane是Wirth为ETH原生Oberon系统设计的专属图形模块,Oxford Oberon-2作为面向通用操作系统的移植版本,默认未内置该模块属于预期情况,你可以通过以下三种方案解决示例运行问题:

  • 方案1:直接替换为Oxford Oberon-2原生图形接口
    Oxford Oberon-2内置的O2Graphics模块覆盖了XYplane的全部基础绘图能力,你可以手动映射原书示例的调用关系,常用对应逻辑如下:

    • XYplane.DrawLine 对应 O2Graphics.DrawLine
    • XYplane.SetColor 对应 O2Graphics.SetPenColor
    • XYplane.FillRect 对应 O2Graphics.FillRectangle
      两个模块的坐标原点均为左上角,仅部分参数的整数类型需要做少量转换,简单绘图示例调整后即可直接运行。
  • 方案2:自定义兼容层XYplane模块
    不想修改原书示例代码的情况下,你可以自行编写简化版XYplane.Mod作为适配层,内部调用Oxford Oberon-2的原生图形接口,导出原书用到的所有方法即可。基础框架参考:

    MODULE XYplane;
    IMPORT O2Graphics, O2Windows;
    
    PROCEDURE OpenWindow(title: ARRAY OF CHAR; width, height: INTEGER);
    BEGIN
      O2Windows.Create(title, width, height);
    END OpenWindow;
    
    PROCEDURE DrawLine(x1, y1, x2, y2: INTEGER);
    BEGIN
      O2Graphics.DrawLine(x1, y1, x2, y2);
    END DrawLine;
    
    (* 可根据你用到的XYplane接口补充对应实现 *)
    
    END XYplane.
    

    将该模块和示例代码放在同一编译目录下,不需要修改原示例就能直接编译运行。

  • 方案3:使用ETH原生Oberon仿真环境
    如果你需要100%还原原书的全部运行环境,可以安装ETH官方推出的Oberon System仿真包,所有Wirth著作中提到的原生模块均为默认预装状态,无需额外适配即可运行所有示例。

内容的提问来源于stack exchange,提问作者GDI512

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 12:36:09