有时需要使用将函数锁定到内存中mlock
作用这通常用于包含一些初始化的动态链接函数inoct文件或mex文件,并且在调用时是可取的清楚的
不会删除此初始化。
作为一个例子,
函数my_function()mlock()。。。结束函数
阻止my_function
在调用后从内存中删除,即使清楚的
被调用。可以使用确定函数是否锁定到内存中锁定错误
,并使用解锁函数munlock
,下面的代码对此进行了说明。
my_function();锁定错误(“my_function”)⇒ ans=1munlock(“my_function”);锁定错误(“my_function”)⇒ ans=0
的常见用法mlock
是为了防止持久变量从内存中移出,如下例所示:
函数count_calls()mlock();持久调用=0;printf(“count_calls()已被调用%d次\n”,++次调用);endfunctioncount_calls();-|count_calls()已被调用1次clear count_callscount_callcalls();-|count_calls()已被调用2次
mlock
还可以用于防止对m文件的更改(例如在外部编辑器中)在当前Octave会话中返回任何影响;可以通过ignore_function_time_stamp
作用
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号