1

コーダーを使用して、いくつかの 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 ***

4

1 に答える 1