利用CMD命令调用ENVITask实现混合编程

0
分享 2017-01-01
IDL可以将pro源码编译为sav文件,然后利用cmd命令执行此sav文件,即可实现混合编程。
下面的测试版本为 ENVI 5.3.1/IDL 8.5.1。

此方法同样适用于纯 IDL 开发方式。

1. 编写IDL代码

IDL测试代码如下:


2. 构建sav文件

编译sav文件的操作顺序和命令很重要,一定逐步完成。

第一步:重置IDL进程
可单击IDL工具栏中的"重置"按钮,也可在IDL控制台中输入 .f 然后回车。

第二步:编译pro文件
如果pro文件个数较少时,逐个手动编译即可。
如果文件个数较多,建议以工程方式构建项目,一步即可构建sav文件。

第三步:加载pro调用的函数
在IDL控制台执行如下命令即可:


第四步:构建sav文件
在IDL控制台执行如下命令:

注:filename指定为sav文件输出路径,sav文件名必须与pro主过程同名。

3. 执行cmd命令

在cmd中执行如下命令即可实现可传参调用ENVITask。(整个命令为1行,无回车)


  • "C:\Program Files\Exelis\IDL85\bin\bin.x86_64\idlrt.exe":ENVI本地安装路径
  • "D:\temp\test_ENVITask_Args.sav":sav文件所在完整路径
  • -args:后边跟的是传入参数


注:参数个数和cmd命令长度可能有限制,如果参数过多,可将参数保存在txt或xml文件中,然后在sav文件中解析txt或xml来获取参数。
文章来源:http://blog.sina.com.cn/s/blog_764b1e9d0102xw9p.html

0 个评论

要回复文章请先登录注册