第十九章 调用Callout Library函数 - 将 $ZF(-5) 与多个库和许多函数调用一起使用

文章目录

  • 第十九章 调用Callout Library函数 - 将 $ZF(-5) 与多个库和许多函数调用一起使用
  • 将 `$ZF(-5)` 与多个库和许多函数调用一起使用

第十九章 调用Callout Library函数 - 将 $ZF(-5) 与多个库和许多函数调用一起使用

$ZF(-5) 与多个库和许多函数调用一起使用

Method GraphSomeData(loopsize As %Integer=100000) As %Status{// load libraries and get system-defined ID valuesset InputLibID = $ZF(-4,1,"c:\intersystems\iris\bin\inputlibrary.dll")set OutputLibID = $ZF(-4,1,"c:\intersystems\iris\bin\outputlibrary.dll")set fnGetData = $ZF(-4,3,InputLibID,"GetData")set fnAnalyzeData = $ZF(-4,3,OutputLibID,"AnalyzeData")set fnPlotPoint = $ZF(-4,3,OutputLibID,"PlotPoint")set fnWriteData = $ZF(-4,3,OutputLibID,"WriteData")// call functions from each library until we have 100000 good data itemsset count = 0do {set datapoint = $ZF(-5,InputLibID,fnGetData)set normalized = $ZF(-5,OutputLibID,fnAnalyzeData,datapoint)if (normalized'="") { set flatdata($INCREMENT(count)) = normalized }} while (count<loopsize)set status = $ZF(-4,2,InputLibID)   //unload "inputlibrary.dll"// plot results of the previous loop and write to outputfor point=1:1:count {set list = $ZF(-5,OutputLibID,fnPlotPoint,flatdata(point))set x = $PIECE(list,",",1)set y = $PIECE(list,",",2)set sc = $ZF(-5,OutputLibID,fnWriteData,flatdata(point),x,y,"outputfile.dat")}set status = $ZF(-4,2,OutputLibID)   //unload "outputlibrary.dll"quit 0}
  • $ZF(-4,1) 的调用将标注库 inputlibrary.dlloutputlibrary.dll 加载到虚拟内存中,并为其返回系统定义的库 ID

  • $ZF(-4,3) 的调用使用库 ID 和函数名称来获取库函数的 ID。返回的函数 ID 实际上是 ZFEntry 表序列号(请参阅上一章中的“创建 ZFEntry 表”)。

  • 第一个循环使用 $ZF(-5) 调用每个库中的函数:

    • inputlibrary.dll中的 GetData() 函数从某个未指定的源读取原始数据。
    • outputlibrary.dll 中的AnalyzeData() 函数可以对原始数据进行标准化,也可以拒绝它并返回一个空字符串。
    • 每个标准化数据点都存储在 flatdata(count) 中(其中第一次调用 ObjectScript 函数 $INCRMENT 创建 count 并将其初始化为 1)。

    默认情况下,循环获取 100000 个项目。由于两个库都已加载并保留在内存中,因此在两个不同库之间切换没有处理开销。

    • 第一个循环结束后,不再需要库 inputlibrary.dll,因此调用 $ZF(-4,2) 来卸载它。库outputlibrary.dll将保留在内存中。
    • 第二个循环处理数组 flatdata 中的每个项目并将其写入文件中某个未指定的位置:
      • 库函数 PlotPoint() 读取该项目并返回一个以逗号分隔的字符串,其中包含将绘制该项目的坐标(有关库函数如何返回多个输出参数的说明,请参阅“链接简介”)。
      • $PIECE 函数用于从字符串中提取坐标值 xy
      • 库函数 WriteData() 将项目和坐标存储在文件 outputfile.dat 中,其他应用程序将使用该文件来打印图形。
    • 第二个循环完成后,再次调用 $ZF(-4,2) 来卸载库outputlibrary.dll

以下部分介绍 $ZF(-6) 接口,它将库加载到与 $ZF(-5) 接口相同的虚拟内存空间中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/610361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字IC后端实现之Innovus TA-152错误解析(分频generated clock定义错误)

**ERROR: (TA-152): A latency path from the ‘Fall’ edge of the master clock at source pin… Error Code TA-152 在数字IC后端实现innovus中我们经常会看到这类Error&#xff0c;具体信息如下所示。 Error Message **ERROR: (TA-152): A latency path from the ‘Fa…

Goby高级食用指南

Goby高级食用指南 1.Goby POC2.自定义字典3.Goby插件生态 - 一些好用的插件分享FOFASubDomainsBruteExportCsvAWVSRedis-cliGoby4waf初级篇参考 - Goby基本使用 1.Goby POC Goby的漏洞模块包含官方自定义的一些初始POC: 红队版的POC会实时更新,普通版则不会 Goby的POC编写…

沈阳数字孪生赋能工业智能制造,助力制造业企业数字化转型

沈阳数字孪生赋能工业智能制造&#xff0c;助力制造业企业数字化转型。在数字经济时代&#xff0c;数字孪生作为实现各行各业智能化、数字化的重要手段之一&#xff0c;受到了各方的广泛重视。随着各项关键使能技术的不断发展&#xff0c;数字孪生的应用价值有望得到进一步释放…

GitLab clone 地址不对的解决办法

1丶问题描述 2丶解决方案 解决方案&#xff1a; 找到挂载到宿主机配置文件&#xff1a;gitlab.rb vi gitlab.rb 改成自己的ip 重启容器 docker restart gitlab 如果发现容器一直重启&#xff0c;可采用粗暴的方法&#xff0c;直接干掉当前容器&#xff0c;重新运行一个 …

一键与图片对话!LLM实现图片关键信息提取与交互

本期文心开发者说邀请到飞桨开发者技术专家徐嘉祁&#xff0c;主要介绍了如何通过小模型与大模型的结合&#xff0c;解决数据分析中的问题。 项目背景 在智能涌现的大模型时代&#xff0c;越来越多的企业和研究机构开始探索如何利用大模型来提升工作效率&#xff0c;助力业务智…

企业数字化转型指南,12步实现企业转型之路

引言 在这个数字化时代&#xff0c;企业面临着前所未有的机遇和挑战。随着科技的飞速发展和市场竞争的加剧&#xff0c;传统商业模式正在经历翻天覆地的变革。数字化转型&#xff0c;已经不再只是一种选择&#xff0c;而是企业生存和发展的必然路径。它不仅仅是技术的升级&…

Open CASCADE学习|基于visual studio 2022编译源码

目录 1、简介 2、下载 2.1下载visual studio 2022 community 2.2下载下载cmake工具 2.3下载源码 2.4下载第三方插件 3、安装 3.1安装visual studio 2022 community 3.2安装cmake 4、编译源码 5、测试 1、简介 Open CASCADE&#xff08;简称…

C //练习 4-8 假定最多只压回一个字符。请相应地修改getch与ungetch这两个函数。

C程序设计语言 &#xff08;第二版&#xff09; 练习 4-8 练习 4-8 假定最多只压回一个字符。请相应地修改getch与ungetch这两个函数。 注意&#xff1a;代码在win32控制台运行&#xff0c;在不同的IDE环境下&#xff0c;有部分可能需要变更。 IDE工具&#xff1a;Visual St…

【OCR】 - Tesseract OCR在Windows系统中安装

Tesseract OCR 在Windows环境下安装Tesseract OCR&#xff08;Optical Character Recognition&#xff09;通常包括以下几个步骤&#xff1a; 下载Tesseract 访问Tesseract的GitHub发布页面&#xff1a;https://github.com/tesseract-ocr/tesseract/releases找到适合你操作系…

羊奶制作工艺揭秘,如何打造丰富多样的口味品种?

羊奶制作工艺揭秘&#xff0c;如何打造丰富多样的口味品种&#xff1f; 羊奶一直以来都是人们健康饮食的选择之一&#xff0c;它不仅营养丰富&#xff0c;而且口感独特。但是&#xff0c;你是否好奇羊奶是如何做到各种口味的呢&#xff1f;下面就跟随小编羊大师一起揭秘羊奶制…

SpringBoot集成Minio

pom文件导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

Hadoop之mapreduce参数大全-3

51.指定Shuffle传输过程中可以同时连接的节点数 mapreduce.shuffle.max.connections是Hadoop MapReduce中的一个配置参数&#xff0c;用于指定Shuffle传输过程中可以同时连接的节点数。该参数用于控制Shuffle传输的并发度&#xff0c;以保障任务的稳定性和性能。 可以通过以下…

RHCE9学习指南 第17章 进程管理

17.1 进程介绍 在Windows下打开任务管理器就可以查看到系统所有进程&#xff0c;如图17-1所示。 图17-1 Windows下的任务管理器 这里列出了系统中所有的进程。不过也可以使用命令行工具来查看进程。每个进程都会有一个process ID&#xff0c;简称为pid。 17.2 查看进程 也可…

实用Unity3D Log打印工具XDebug

特点 显示时间&#xff0c;精确到毫秒显示当前帧数&#xff08;在主线程中的打印才有意义&#xff0c;非主线程显示为-1&#xff09;有三种条件编译符(如下图) 注&#xff1a;要能显示线程中的当前帧数&#xff0c;要在app启动时&#xff0c;初始化mainThreadID字段条件编译符…

uniapp日期加减切换,点击切换

先上完成后的页面&#xff1a;当前年年份不显示&#xff0c;不然完整显示。 可以切换和自定义选择。 html:样式和图片自定义。 <view class"image-text_30"><image click"delMonth" :src"require(/static/home/zuo.png)" class"…

vue element plus Button 按钮

常用的操作按钮。 基础用法# 使用 type、plain、round 和 circle 来定义按钮的样式。 DefaultPrimarySuccessInfoWarningDanger PlainPrimarySuccessInfoWarningDanger RoundPrimarySuccessInfoWarningDanger 禁用状态# 你可以使用 disabled 属性来定义按钮是否被禁用。 使…

翻译:Building Efficient RAG Systems: A Deep Dive into devv.ai

RAG 的全称是&#xff1a;Retrieval Augmented Generation&#xff08;检索增强生成&#xff09; 最初来源于 2020 年 Facebook 的一篇论文&#xff1a;Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks&#xff08;是的&#xff0c;你没有看错&#xff0c;…

时序分解 | Matlab实现CPO-VMD基于冠豪猪优化算法(CPO)优化VMD变分模态分解时间序列信号分解

时序分解 | Matlab实现CPO-VMD基于冠豪猪优化算法(CPO)优化VMD变分模态分解时间序列信号分解 目录 时序分解 | Matlab实现CPO-VMD基于冠豪猪优化算法(CPO)优化VMD变分模态分解时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 【原创】CPO-VMD【24年新算法…

计算机毕业设计----ssm在线选课管理系统

项目介绍 一个简单的“在线教学平台系统”&#xff0c;实现基本的选课功能。 主要功能&#xff1a; 管理员能够实现学生基本信息的录入、修改、删除等操作&#xff0c;其中学生信息包括学号、姓名、性别、专业等信息&#xff1b; 管理员能够实现课程的录入、修改、删除等功能&…

策略模式--在SpringBoot中的使用

策略模式 策略模式主要分为三部分&#xff1a; 抽象策略类AbstractStrategy&#xff1a;负责定义抽象方法&#xff0c;具体策略类的继承具体策略类ContentStrategy&#xff1a;负责策略类的具体实现上下文类&#xff1a;ContextStrategy&#xff1a;负责上游模块的调用。包含…