文章
· 八月 20, 2023 阅读大约需 2 分钟

第四章 IRIS 编程简介 - Macros

第四章 IRIS 编程简介 - Macros

Macros

ObjectScript 还支持定义替换的宏。定义可以是一个值、整行代码或(使用 ##continue 指令)多行。使用宏来确保一致性。例如:

#define StringMacro "Hello, World!"

write $$$StringMacro

Include Files

可以在例程中定义宏,并稍后在同一例程中使用它们。更常见的是,在中心位置定义它们。为此,需要创建并使用包含文件。包含文件定义宏并且可以包含其他包含文件。

这些代码元素如何协同工作

可以混合使用 ObjectScriptPythonSQL、类定义、宏、例程等的原因是 IRIS 不直接使用编写的代码。相反,当编译代码时,系统会生成它使用的较低级别的代码。这是由 ObjectScript 引擎使用的 ObjectScriptOBJ 代码,以及由 Python 引擎使用的 PythonPYC 代码。

有多个步骤。无需详细了解这些步骤,但最好记住以下几点:
- 对于除 Python 方法之外的所有元素,类编译器将类定义和 ObjectScript 代码处理为 INT 代码。 Python代码被处理成PY代码。

在某些情况下,编译器会生成并保存您不应编辑的其他类。例如,当编译定义 Web 服务和 Web客户端的类时,就会发生这种情况。

类编译器还为每个类生成类描述符。系统代码在运行时使用它。

  • 对于 ObjectScript 代码,预处理器(有时称为宏预处理器或 MPP)使用包含文件并替换宏。它还处理例程中的嵌入式 SQL

这些更改发生在临时工作区中,并且代码不会更改。

  • 其他编译器为例程创建 INT 代码。
  • INT 代码和 PY 代码是中间层,其中通过直接Global访问来处理对数据的访问。该代码是人类可读的。
  • INT代码用于生成OBJ代码,PY代码用于生成PYC代码。 IRIS 虚拟机使用此代码。一旦将代码编译为 OBJPYC 代码,代码执行就不再需要 INTPY 例程。
  • 编译类后,可以将它们置于部署模式。 IRIS 有一个实用程序,可以删除给定类的类内部和中间代码;可以在部署应用程序时使用此实用程序。

如果检查 IRIS 系统类,可能会发现某些类看不到,因为它们处于部署模式。

注意:所有类定义和例程都与生成的代码存储在同一 IRIS 数据库中。这一事实使代码更易于管理。 IRIS 提供了一组强大的源代码控制挂钩, 开发人员已使用这些挂钩多年。也可以使用这些挂钩。

讨论 (0)1
登录或注册以继续