1

我正在尝试将现有的已编译 C 库(Windows x64 上的 .dll)与 Simulink 一起使用。我已经编写了一个基本库以及必要的 2 级 S-Function(.m 文件)和代码生成翻译文件(.tlc)。我的代码在模拟中运行良好,并且代码生成执行没有错误,尽管我在 .tlc 文件中指定的自定义代码都没有最终出现在输出中。但是,如果我的任何 .tlc 文件中存在语法错误,代码生成就会失败,因此它至少会解析文件。参考代码生成的示例代码并没有发现我似乎遗漏的任何内容。

考虑到这里的文件数量和代码量,我把所有东西都放进去了了 Github 存储库中。如果您在运行 x64 MATLAB 2011b 或更新版本的 Windows 上,您应该能够立即运行所有内容。中的最终输出TestLibTest_grt_rtw/TestLibTest.c:TestLibTest_output()应包含对TestLibGet()TestLibGet.tlc 指定的两个调用。

4

1 回答 1

0

我认为您的意思是“Get()”不是从生成的代码中调用的。您链接的 github 存储库中的 tlc 文件没有正确的行结尾。一旦你解决了这个问题,对 Get() 的调用就会出现在生成的代码中。解决此问题可能特定于平台。如果您在平台中的简单代码编辑器中打开 tlc 文件,您应该能够在正确的位置看到新行。如果您看到像 ^M 这样的字符,则需要将其替换为新行。

于 2013-09-30T17:23:23.757 回答