Red Hat Training

A Red Hat training course is available for RHEL 8

44.3. 迁移到 Tcl/Tk 8.6

Red Hat Enterprise Linux 7 使用 Tcl/Tk 8.5。Red Hat Enterprise Linux 8 中提供了 Tcl/Tk 版本 8.6

本节论述了到 Tcl/Tk 8.6 的迁移路径:

  • 开发人员编写 Tcl 扩展或将 Tcl 解释器嵌入到其应用程序中
  • 用户使用 Tcl/Tk编写任务

44.3.1. Tcl 扩展开发人员迁移路径

要使您的代码与 Tcl 8.6 兼容,请使用以下步骤。

流程

  1. 重写代码以使用 interp 结构。例如,如果您的代码读取 interp→errorline,将其重写为使用以下功能:

    Tcl_GetErrorLine(interp)

    这是必要的,因为 Tcl 8.6 限制对 interp 结构成员的直接访问。

  2. 要使您的代码与 Tcl 8.5Tcl 8.6 兼容,请在包含 Tcl 库的头文件中使用以下代码片段:

    # include <tcl.h>
    # if !defined(Tcl_GetErrorLine)
    # define Tcl_GetErrorLine(interp) (interp→errorLine)
    # endif