首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个实例的s-函数的Matab tlc代码

具有多个实例的s-函数的Matab tlc代码
EN

Stack Overflow用户
提问于 2016-11-02 08:21:18
回答 2查看 214关注 0票数 0

我需要在我的simulink模型中嵌入一个具有多个实例的s-函数.在S-函数中,我需要加载一个dll文件,但是它应该只在s-函数的一个实例中完成。我写tlc如下:.%函数启动(块、系统)输出

dll_setup=(DLL_SETUP)GetProcAddress(dll_handle,= dll_handle = LoadLibraryA("mydll");.

在代码生成之后,这些启动函数行被添加到每个s函数实例的源代码中。但是,我需要加载一次dll。是否可以只为s-函数的第一个实例添加这些行?

注意:我知道在TLC文档中,当模型中有多个s-函数实例时,它声明避免内联。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-03 17:48:56

最简单的方法是将这些行放在外部文件中,并使用静态变量来跟踪一次性初始化。然后从Start函数中添加对该函数的调用。如果要从tlc生成该外部文件,请查看BlockTypeSetup、TLC函数和LibAddToModelSources,以将源文件添加到生成的代码中。

票数 0
EN

Stack Overflow用户

发布于 2016-11-02 13:28:10

这是一些模糊的记忆,但我认为你可以用一个全球性的:

代码语言:javascript
复制
%assign ::DLL_LOADED = 0

%function Start()

%if :: DLL_LOADED == 0
    %% load DLL here
    %assign ::DLL_LOADED = 1
%endif

我想类似的事情会奏效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40375278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档