在C語言編程中分配內存時,調用matlab的內存分配函數:
double *hist = (double *)mxCalloc(blocks[0]*blocks[1]*18, sizeof(double));
double *norm = (double *)mxCalloc(blocks[0]*blocks[1], sizeof(double));
最後能得出正確的結果,而是用C語言的標準內存分配函數:
double *hist = (double*)malloc(blocks[0]*blocks[1]*18*sizeof(double));
double *norm = (double*)malloc(blocks[0]*blocks[1]*sizeof(double));*
卻無法得出正確的結果。真的好奇怪。最後沒辦法使用了C語言中的函數:
double *hist = (double*)calloc(blocks[0]*blocks[1]*18,sizeof(double));
double *norm = (double*)calloc(blocks[0]*blocks[1],sizeof(double));
最終得到正確的計算結果!