首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当printf位于从s-function调用的单独c文件中时,如何让它工作?

当printf位于从s-function调用的单独c文件中时,如何让它工作?
EN

Stack Overflow用户
提问于 2011-05-26 21:13:49
回答 2查看 3.4K关注 0票数 2

我在文件mySFun.c中有一个s-function,它调用一个foo()函数,该函数在一个单独的文件myFoo.c中实现。当我在mySFun.c的mdlOutput函数中编写printf语句时,它们工作得很好。但是当我将printf放在myFoo.c的foo()函数中时,它们不会在命令窗口中显示它们的输出。

当printf位于从s-function调用的另一个文件中时,如何启用printf功能?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-26 21:42:55

从MEX-function写入MATLAB控制台的唯一官方方式是通过函数mexPrintf。但是,头文件mex.h包括以下行:

代码语言:javascript
复制
#define printf mexPrintf

而simstruc.h包括mex.h。我怀疑您包含了mySFun.c中的simstruc.h,但没有包含myFoo.c中的simstruc.h。您可以在其他源文件中包含simstruc.h或mex.h (在那里选择#define ),也可以切换到直接调用mexPrintf。

票数 6
EN

Stack Overflow用户

发布于 2011-05-26 21:29:58

printf是一个C库文件,因此您不需要创建自己的:)。如果要调用itz函数foo(),则应在mySFun.h文件中插入myFoo.h。

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

https://stackoverflow.com/questions/6139079

复制
相关文章

相似问题

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