2

Linux の R で .c 関数を使用すると、エラー メッセージ * catch segfault * address 0x10, cause 'memory not maps' が表示されました。ポインタの割り当てと解放に問題があるかどうかを確認しましたが、今のところバグは見つかりません。そして、Windows の R で .c 関数を実行できるのは奇妙です。

ご協力いただきありがとうございます。

PSこれは、私のCコードでのポインタの割り当てと割り当て解除の一部です:

double **x;
x= (double **)calloc(nRow ,sizeof(double*));
for(i = 0; i < nRow; ++i)
 x[i] = (double *)calloc(nCol, sizeof(double));

....

 for(i = 0; i < nRow; i++)
    free(x[i]);
 free(x);
4

1 に答える 1

1

コードは正常に見えます。おそらく、他の場所にメモリのバグがあり、その結果、x破損する可能性があります。

valgrind助けることができるかもしれません。

于 2013-03-15T10:30:31.343 に答える