ssPrintf for C-Mex S-Function
조회 수: 6 (최근 30일)
이전 댓글 표시
I would like to debug my S-Function using ssPrintf, but if the ssPrintf is between #ifndef MATLAB_MEX_FILE and #endif, there is no message printing out. Even I use mexPrintf or printf.
static void mdlOutputs(SimStruct *S, int_T tid)
{
ssPrintf("message1\n");
#ifndef MATLAB_MEX_FILE
ssPrintf("message2\n");
#endif
ssPrintf("message3\n");
}
-------------------------
Output in Command Windows:
message1
message3
-------------------------
Thanks!!!
댓글 수: 0
답변 (1개)
Kaustubha Govind
2012년 4월 18일
When the S-function is compiled as a MEX-function, the symbol MATLAB_MEX_FILE is always defined, so that line is effectively getting eliminated by the C pre-processor. MATLAB_MEX_FILE is undefined only when generating code using Simulink Coder (formerly Real-Time Workshop), as a non-inlined S-function - ie, there is not TLC file associated with that S-function.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Block and Blockset Authoring에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!