我目前正試圖用一個C。我對此很新,請耐心等待。Matlab的legacy_code工具 - /在Matlab/Simulink的基於C++代碼庫由Matlab的legacy_code工具來編寫一個包裝函數的捕捉數組
我偶然發現了這個問題,我得到的類成員,其返回數組。
我所做的在現在是遵循Matlab的遺留代碼的例子,尤其是這一個:
Integrate External C++ Object Methods
據我所看到的,legacy_code工具需要一個包裝函數被纏一個方法調用,所以基本上我可以在這個包裝函數中以任何必要的方式操作被調用的返回值。這遠沒有問題。
但是,我不能肯定如何接收來自所調用的方法的信息陣列的然後通過這個數組Matlab/Simulink仿真。
例如一個方法的返回值是一個指向一組信息的指針,讓我們假設,我們知道它所持有的有效信息的長度。
/* Simple example */
uint8_t* BUS::answerRcvd()
{
static int r[10];
int i;
srand((unsigned)time(NULL));
for (i = 0; i < 10; ++i)
{
r[i] = rand();
}
return r;
}
有沒有一種方法創建一個包裝功能,從而將收到的信息的數組,並沿着它傳遞MATLAB的一種方法?
也許會有來處理數組作爲例如一種可能性uint8_t的單值(如果繼續使用給定的例子),並在普通的matlab函數中傳遞這些值?
[a,b,c] = function()
我很樂意提供任何建議,非常感謝您提前。
鏈接到相應的Matlab文檔: http://de.mathworks.com/help/simulink/sfg/integrating-existing-c-functions-into-simulink-models-with-the-legacy-code-tool html的 – RaEyE