我试图用Simulink在Windows X64上使用现有编译的C库(.dll)。我已经编写了一个基本库以及必要的2级S函数(.m文件)和代码生成翻译文件(.tlc)。虽然.tlc文件中指定的自定义代码都不会出现在输出中,但我的代码在模拟中运行良好,代码生成也不会出错。但是,如果我的任何.tlc文件中存在语法错误,代码生成将失败,因此至少要对文件进行分析。引用示例代码生成代码并没有显示出我似乎缺少的任何内容。
考虑到这里的文件数量和代码量,我已经把所有东西都放到a Github repository中。如果你在运行x64 MATLAB 2011b或更新版本的Windows上,你应该能够运行所有的程序。TestLibTest_grt_rtw/TestLibTest.c:TestLibTest_output()中的最终输出应包含两个对TestLibGet()的调用,由TestLibGet.tlc指定。

最佳答案

我想您的意思是“Get()”不是从生成的代码中调用的。您的tlc文件在链接的github存储库中没有正确的行尾。修复后,对Get()的调用将出现在生成的代码中。修复这一点可能是特定于平台的。如果在平台的简单代码编辑器中打开tlc文件,您应该能够在正确的位置看到新行。如果您看到像^M这样的字符,您需要用新行替换它。

关于c - 如何使用嵌入式编码器在MATLAB中内嵌Level-2 .m S函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19059101/

10-11 23:09
查看更多