Main Content

mlock

함수 또는 스크립트가 메모리에서 지워지지 않도록 방지

구문

설명

예제

mlock은 현재 메모리에서 실행 중인 함수를 잠급니다. 함수를 잠그면 clear가 메모리에서 해당 함수를 제거하지 않으며 파일에 정의된 persistent 변수가 다시 초기화되지 않게 됩니다.

mlock은 MATLAB® 코드 파일 내에서만 사용하십시오.

잠겨 있는 함수나 스크립트를 메모리에서 제거하려면 먼저 munlock 명령을 사용하여 잠금을 해제한 다음 clear 명령을 사용하십시오.

예제

모두 축소

현재 작업 폴더에 함수 myFun을 만듭니다.

function myFun()
    persistent n
    if isempty(n)
        n = 0;
    end
    n = n+1
end

명령 프롬프트에서 myFun을 두 번 호출합니다. npersistent이므로 이 함수를 호출할 때마다 값이 증가합니다.

myFun
myFun
myFun
n =

     1


n =

     2


n =

     3

함수를 지우고 두 번 더 호출합니다. 함수를 지우면 영속 변수도 지워집니다.

clear myFun
myFun
myFun
n =

     1


n =

     2

mlock 함수에 대한 호출을 포함하도록 myFun 함수를 편집합니다.

function myFun()
    mlock
    persistent n
    if isempty(n)
        n = 0;
    end
    n = n+1
end

명령 프롬프트에서 myFun 함수를 세 번 호출합니다.

myFun
myFun
myFun
n =

     1


n =

     2


n =

     3

함수를 지우고 두 번 더 호출해 봅니다. myFun이 잠겨 있으므로 함수를 지워도 메모리에서 함수가 제거되지 않으며 영속 변수가 지워지지 않습니다.

clear myFun
myFun
myFun
n =

     4


n =

     5

myFun이 메모리에서 지워질 수 있도록 이 함수의 잠금을 해제합니다.

munlock('myFun')

  • MEX 파일을 잠그려면 mexLock 함수를 사용하십시오.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |