ssGetPWork doesnt work in callbacks mdlInitializeSizes and mdlInitializeSampleTimes
이전 댓글 표시
Hello to everyone,
can somebody tell me why in sfunctions I can not store an object in the callbacks mdlInitializeSizes and mdlInitializeSampleTimes? It works in all the other callback.
the code looks like this
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumPWork(S, 1); // or ssSetNumPWork(S, DYNAMICALLY_SIZED);
.....
ssGetPWork(S)[0] = (void *) new MyClass;
}
Thank you!
G.
답변 (1개)
Kaustubha Govind
2011년 2월 16일
0 개 추천
I don't believe that work vectors are even allocated until after mdlSetWorkWidths - mdlInitializeSizes and mdlInitializeSampleTimes are in the initialization stage of the S-function where attributes of work vectors can be set (like the number of work vectors, their widths, etc.) which can later be used for allocation.
Is there a reason you'd like to initialize your work vectors so early?
댓글 수: 2
Giulio
2011년 2월 16일
Kaustubha Govind
2011년 2월 17일
In that case, ssSetUserData and ssGetUserData might be more appropriate.
카테고리
도움말 센터 및 File Exchange에서 Configure C/C++ S-Function Features에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!