0
나는 mex 코드를 쓰고 있는데, 나는 매우 효율적으로 메모리를 사용하지 않을 것이라고 생각하고있다. 여기 내가하는 일이있다. 나는 문제는 내가 밖으로 변수에 할당 메모리를 해제하지 오전입니다mex 코드로 메모리 풀기
out=mxMalloc(sizeof(double)*N);
plhs[0]=mxCreateDoubleMatrix(1,N,mxREAL);
set(plhs[0],out);
처럼라는 변수에 대한 메모리를 할당하고 내가 matlab에에서 사용하기 때문에 내가 분할 오류가 발생합니다한다면 때문이다. 그렇다면 누구나 위의 명령을 수행하는 데 더 좋은 기술을 제안 할 수 있습니까? 어쨌든 메모리를 없애거나 길이 1X N의 행렬을 정의하지 않도록 할 수 있습니까?
감사합니다.
우리가 plhs [0 [출력을 가리키고있는 것처럼 보인 것을 plhs [0]에 할당하려고합니다. 내 경우에는 데이터 1XN 벡터이며 plhs [0] 내 matlab 출력됩니다 할당하려고합니다. 당신은 당신의 대답에 대해 정교하게 말할 수 있습니까? 또한 당신의 결과물과 저의 결과가 같은지 말해 줄 수 있습니까? – justin
@justin 미안하지만, 나는 'out'을 의미했습니다. 처음에는'mxCreateDoubleMatrix'를 사용하여'out'을 할당 한 다음 나머지 mex 파일 안에 채울 수 있습니다. 별도로 할당 할 필요가 없습니다. – Suever