专栏
标签
在使用外部函数前,需要先声明一个function,function的输入输出参数局限于double integer、bool和string四种类型对于自定义结构体的输入或输出应如何处理?
技术分享
发布于 2025-06-25 23:08:07
查看 1过去342天

外部函数的输入输出参数不止局限于四种类型,也可将返回类型设为指针,结构体等,参数类型。
对应案例如下:

  1. 输入输出是指针类型,使用场景:要将一些数据存放到新开辟的内存空间里并能在 Modelica 中重复使用。
    外部对象赋予了外部函数开辟、保存和释放内存空间的能力。外部对象是 用户自定义的一片内存空间在 Modelica 中映射为对象实例,其有且仅有两个函数 constructor 和 destructor,通过调用外部 C 函数实现,它们分别负责内存空间 的初始化和释放。因此,用户可以非常灵活地定义想要开辟的内存空间,初始 化成功后返回一个 void*映射到继承 ExternalObject 外部对象类的实例。
    一个外部对象类应该直接继承自 ExternalObject,并且有且仅有两个函数定义,名为"constructor"和"destructor",不能再有其他元素。在第一次使用对象前,函数 constructor 仅被调用一次。对每个完整构造出的对象,析构函数在对象最后一次使用之后被调用一次,即使使用中出现错误。constructor 应该只有一个输出参数,它返回构造出的 ExternalObject 对象。destructor 不能有输出参数,它唯一的输入参数是 ExternalObject 对象。学习课程
所属专栏:Sysplorer基础平台
产品信息:Sysplorer系统建模仿真环境
系统建模

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天