0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Macros如何协同工作

科技绿洲 来源:网络整理 作者:网络整理 2023-09-20 14:06 次阅读

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 提供了一组强大的源代码控制挂钩, 开发人员已使用这些挂钩多年。也可以使用这些挂钩。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4751

    浏览量

    68357
  • 编译
    +关注

    关注

    0

    文章

    654

    浏览量

    32809
  • python
    +关注

    关注

    56

    文章

    4782

    浏览量

    84456
收藏 人收藏

    评论

    相关推荐

    bgp配置实例讲解 如何配置Cilium和BGP协同工作

      背景 官方提供了多篇文档说明如何配置 Cilium 和 BGP 协同工作,本文主要对以下部分功能进行验证: Using BIRD to run BGP[1] Using kube-router
    的头像 发表于 08-15 09:15 2001次阅读
    bgp配置实例讲解 如何配置Cilium和BGP<b class='flag-5'>协同工作</b>

    快速实现ARM和DSP的通信和协同工作

    快速实现ARM和DSP的通信和协同工作
    发表于 08-17 14:08

    双核处理器ARM_DSP如何实现协同工作

    双核处理器ARM_DSP如何实现协同工作
    发表于 08-17 14:26

    labview控制两个仪器协同工作

    ,然后示波器采集,然后问示波器采集完了吗,然后在运动。请问这样的程序怎么写?我处理不好他们的协同工作,所以上网了希望得到大家的帮助。谢谢大家!
    发表于 05-04 18:25

    MSP430 可以与多大频率的晶振协同工作

    除了 32.768kHz的晶振频率,MSP430 还可以与多大频率的晶振协同工作
    发表于 12-29 17:06

    两片单片机协同工作

    问一下通常的应用中都有什么方式使两片或多片430协同工作
    发表于 01-19 19:27

    【锆石A4 FPGA申请】多芯片协同工作的管理

    申请理由:项目描述:项目越做越大,使用一片芯片已无法胜任,那么多芯片的方案就必不可少了。例如ARM进行人机交互与通讯,DSP进行计算,51进行底层硬件控制等等,那么多个芯片的协同工作就要有一个管理
    发表于 08-29 15:38

    ethernet和softap能否在43907平台上协同工作

    “以太网”和“软”可以在43707个平台上协同工作吗?因此,其他WiFi设备可以连接SoFAP(43907),并通过43907以太网连接到互联网。SDK中有任何参考代码吗?我发现
    发表于 11-28 16:28

    SG3525的3脚和4脚是怎么协同工作的????

    SG3525的3脚和4脚是怎么协同工作的????
    发表于 01-16 18:28

    处理器在读内存的过程中,CPU核、cache、MMU如何协同工作

    处理器中断处理的过程是怎样的?处理器在读内存的过程中,CPU核、cache、MMU如何协同工作
    发表于 10-18 08:57

    基于CSCW和多Agent的电网调度协同工作模型

    分析电网调度运行管理系统的工作特点,根据系统内不同任务分工协作的要求,利用多Agent 技术将系统划分成不同功能的模块。提出了基于多Agent 的CSCW 环境下的一种电网调度协同工作
    发表于 05-28 10:57 0次下载
    基于CSCW和多Agent的电网调度<b class='flag-5'>协同工作</b>模型

    三个传感器协同工作的智能狗碗

    电子发烧友网站提供《三个传感器协同工作的智能狗碗.zip》资料免费下载
    发表于 11-17 10:28 0次下载
    三个传感器<b class='flag-5'>协同工作</b>的智能狗碗

    如何配置Cilium和BGP协同工作呢?

    官方提供了多篇文档说明如何配置 Cilium 和 BGP 协同工作,本文主要对以下部分功能进行验证
    的头像 发表于 08-15 09:15 1786次阅读
    如何配置Cilium和BGP<b class='flag-5'>协同工作</b>呢?

    三电系统是如何协同工作的?

    三电系统是如何协同工作的? 三电系统是指由汽车动力电池、动力电机和动力电控系统组成的新能源汽车动力系统。它在汽车工业领域内得到了广泛的应用,成为推动汽车行业向新能源方向发展的关键技术之一。三电系统
    的头像 发表于 01-18 16:37 816次阅读

    SOLIDWORKS 2024:智能工作协同工作

    随着科技的飞速发展,工程设计软件也在不断迭代升级。SOLIDWORKS 2024作为工程设计领域的佼佼者,以其智能、协同的特性,为工程师们提供了一个全新的工作环境。
    的头像 发表于 01-22 13:55 649次阅读
    SOLIDWORKS 2024:智能<b class='flag-5'>工作</b>、<b class='flag-5'>协同工作</b>