Linux多实例运行结果与单机不一致

韩文哲韩文哲 提问于:2025-05-27 14:05 问题反馈 34 浏览 1 回答

windows平台下的多实例运算结果与单机结果一致,将该代码生成so文件后,同样的模型在linux平台,多实例结果与单机相比有不一致的问题。但是有一个现象是,在linux上,已有两个实例的基础上,再次导入一个实例3,实例1和实例2与单机结果比有不一致的问题,而实例3的结果与单机比就是一致的,这个问题请问有什么办法去解决?(不小心删除了上次提交的问题,所以重新提交一下)

ADPSS2.8
王玭
王玭LV5

回答于:2025-05-29 10:02北京

请参考说明书【12-ADPSS用户统一接口封装模型开发指南˃˃用户统一接口封装模型的开发方法概述˃˃单实例和多实例】的内容。
一般来说,当用户封装模型的代码中含有独立的静态变量和全局变量时,用户封装模型的UD功能块必须采用单实例应用。当用户封装模型的代码中没有静态变量和全局变量时,可以采用多实例动态调用(采用面向对象的类等同于非静态变量)。
基于目前用户封装模型开发的现状,建议用户采用多实例动态调用,将静态变量和全局变量更改为动态变量和局部变量,或者静态变量和全局变量做数据保护(执行前从存储区取值,执行后存入存储区)。