登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 15195775117 于 2017-4-15 17:52 编辑
第三法宝:temporary函数
这个函数在使用大数组进行计算后就释放大数组的内存,阅后即焚。
IDL> a=dist(200)
IDL> b=temporary(a)-1
IDL> help,b
B FLOAT = Array[200, 200]
IDL> help,a
A UNDEFINED = <Undefined>
与BLAS_AXPY函数一样,又是一个比直接算更高效的函数。
第二法宝:DELVAR
字面意思就是删除变量,即释放变量内存。
IDL> a=dist(100)
IDL> delvar,a
IDL> a
% Attempt to call undefined procedure/function: 'A'.
书上说,“这个函数只能在主程序中使用”,想来也合理,毕竟函数中变量的内存不是一直有.“temporary函数和!Null对变量、数组、指针、结构体、对象等都有效”(是不是说delvar作用对象有局限?) 第一法宝:!Null
对不需要的变量直接赋系统变量!Null,简单粗暴
IDL> a=1
IDL> a=!null
IDL> a
!NULL
|