养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

ENVI IDL编译单个pro文件的做法

时间:2024-11-11 08:24:02

sav文件为IDL程序中的二进制文件。sav文件是使用IDL的编译器编译pro文件得到的。下面介绍编译pro文件得到sav文件的做法。

工具/原料

IDL集成开发环境

IDL程序

方法/步骤

1、编写一个简单的IDL程序,保存为pro文件。代码如下:;重采样执行功能;输入放权纲轳薯缩比例和采样方法PROObject_呶蓟鹭毵ENVI_Resize::EXECUTEResize,$xfactor,yfactor,methodCOMPILE_OPTidl2,hidden;打开文件ENVI_OPEN_FILE,self.INFILENAME,R_FID=fidIF(fidEQ-1)THENRETURN;查询文件基本信息ENVI_FILE_QUERY,fid,dims=dims,nb=nbpos=LINDGEN(nb);重采样处理ENVI_DOIT,'resize_doit',$fid=fid,pos=pos,dims=dims,$interp=1,rfact=1./[XFACTOR,YFACTOR],$method=METHOD,$out_name=self.OUTFILENAMEEND;对象的析构函数PROObject_ENVI_Resize::CLEANUPCOMPILE_OPTidl2,hidden;关闭ENVI二次开发模式;需要注意,COM组件调用该功能的时候,必须设置如下参数:;在ENVI主菜单的File-Preference-Miscellaneous下;设置ExitIDLonExitfromENVI为'NO'ENVI_BATCH_EXITEND;ENVI初始化方法FUNCTIONObject_ENVI_Resize::initEnviCATCH,error_statusIFError_statusNE0THENBEGINRETURN,-1CATCH,/CANCELENDIF;ENVI二次开发模式初始化ENVI,/Restore_Base_Save_FilesENVI_BATCH_INITRETURN,1END;对象初始化函数;包含两个参数:输入和输出文件名。;FUNCTIONObject_ENVI_Resize::INIT,$inFileName,outFileNameCOMPILE_OPTidl2;文件名参数self.INFILENAME=inFileNameself.OUTFILENAME=outFileName;初始化ENVIINITFALG=self->INITENVI()RETURN,INITFALGEND;类定义PROOBJECT_ENVI_RESIZE__DEFINE;类定义结构体void={Object_ENVI_Resize,$inFileName:'',$outFileName:''$}END

2、使用IDL85集成环境打开pro文件(编译32位的sav使用32位的IDL集成环境,编译32位的sav使用64位的IDL集成环境),如下图:

ENVI IDL编译单个pro文件的做法

3、单击工具栏上的编译按钮对pro文件进行编译,如下图:

ENVI IDL编译单个pro文件的做法

4、在命令栏中输入命令将编译结果生成sav文件,输入命令如下:save,/routin娣定撰钠es,file=’E:\P锇栀劐箨ublish\object_envi_resize_define.sav’其中E:\Publish\object_envi_resize_define.sav为保存的全路径。到这里就生成了sav文件。

ENVI IDL编译单个pro文件的做法

© 一点知识