コーダーを使用して、いくつかの matlab コードを C++ に変換しました。
void myfunction(const emxArray_real_T *input, emxArray_real_T *output){ ... }
emxArray_real_T
タイプ入力を問題なく送信するようにセットアップしました。を呼び出している C++ で動的サイズの出力を受け取るように設定するにはどうすればよいmyfunction
ですか?
コードが更新されました:
main(){
.
.
.
double *inputVec;
inputVec=(double*)malloc(1000 * sizeof(double));
emxArray_real_T *input;
emxArray_real_T *output;
input=emxCreateWrapper_real_T(&inputVec[0],1,1000);
output = emxCreateWrapper_real_T(NULL,0,0);
myfunction(input,output);
emxDestroyArray_real_T(input);
emxDestroyArray_real_T(output);
.
.
}
これは問題なくコンパイルされますが、エラーが発生します
*** glibc detected *** /data/myscript : double free or corruption (!prev): 0x000000000de54920 ***