IDL 6.4家久久是做什么业务的的

envi&4.4有关license的解决方法
***Envi4.4时候如果提示需要license,那么按照如下步骤操作:
1. 在License wizard 中选择"Install a license you have
received",点击"Next"
2. 在Select a license type 中选择"Activated a
license",同时在面板中输入如下,之后点击"Next",此时***过程完毕,直接close退出License Wizard
PACKAGE envi44_tbe idl_lmgrd 6.410 BCF65D37085 \
&COMPONENTS="devkit:6.410 envi:6.410
envi_bathymetry:6.410 \
&envi_cartosat:6.410 envi_dem_extract:6.410
envi_flash:6.410 \
&envi_flaash:6.410 envi_fx:6.410 envi_rt:6.410
envi_nitf:6.410 \
&envi_tfrd:6.410 idl:6.410 idl_analyst:6.410
&idl_bridge_assist:6.410 idl_cdf:6.410
idl_dataminer:6.410 \
&devkit_optfeat:6.410 idl_devkit:6.410
idl_dicom:6.410 \
&idl_dicomex:6.410 idl_dicomex_net:6.410 \
&idl_dicomex_net_rt:6.410 idl_dicomex_rw:6.410
&idl_dicomex_rw_rt:6.410 idl_dicomex_scp:6.410
idl_dm:6.410 \
&idl_dm_rt:6.410 idl_drawx:6.410 idl_dxf:6.410
idl_envi:6.410 \
&idl_fftool:6.410 idl_gif:6.410 idl_gz:6.410
idl_hdf5:6.410 \
&idl_hdf:6.410 idl_ion:6.410 idl_iptool:6.410
idl_itool:6.410 \
&idl_itools:6.410 idl_jpeg
idl_jpeg:6.410 \
&idl_lapack:6.410 idl_livetools:6.410
idl_lvsn:6.410 \
&idl_mpeg:6.410 idl_mrsid:6.410 idl_netcdf:6.410
idl_odbc:6.410 \
&idl_png:6.410 idl_qhull:6.410
idl_rivertools:6.410 \
&idl_rt:6.410 idl_shape:6.410 idl_student:6.410
&idl_student62:6.410 idl_tiff:6.410
idl_tifflzw:6.410 \
&idl_wavelet:6.410 idl_xml:6.410 insight:6.410
ion_java:6.410 \
&ion_script:6.410 itools:6.410 MPEG:6.410
noesys:6.410 \
&noesysplus:6.410 vip:6.410" HOSTID=ANY ck=225
INCREMENT envi44_tbe idl_lmgrd 6.410 permanent uncounted \
&70B0F0A06F VENDOR_STRING="TEAM
&HOSTID=ANY ISSUER="TEAM TBE" ISSUED=
ck=3 TS_OK
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。IDL调用程序46
上亿文档资料,等你来发现
IDL调用程序46
准备工作;IDL&help,!make_dll,/s;我们可以得到:;**Structure!MAKE_DLL,4ta;COMPILE_DIRECTORY;STRING'C:\Documentsa;COMPILER_NAMESTRING';CCSTRING'cl%X-D_DLL-;LDSTRING'link/out:%L
准备工作。你需要***Visual C++,注意要保证设置cl编译器的环境变量,一个简单的检验方法是在MS-Dos中键入cl命令,看是否正常运行。打开IDL,在命令行中输入
IDL& help,!make_dll,/structure
我们可以得到:
** Structure !MAKE_DLL, 4 tags, length=48, data length=48:
COMPILE_DIRECTORY
STRING 'C:\Documents and Settings\Dave\.idl\rsi\compile_dir-118-idl_6_2-win32-x86-m32-f64'
COMPILER_NAME STRING 'Microsoft Visual C++ 7.0'
CC STRING 'cl %X -D_DLL -DMSWIN -DWIN32 -D_MT /nologo /I&D:\RSI\IDL62\external\include& /c %C /Fo%O'
LD STRING 'link /out:%L /nologo /nodefaultlib /dll %O /def:%E &D:\RSI\IDL62\bin\bin.x86\idl32.lib& msvcrt.lib kernel32.lib %X'
IDL中的make_dll命令就是利用!make_dll系统变量中的参数来编译c语言文件的。COMPILE_DIRECTORY表示编译生成文件存放的地方,COMPILER_NAME是编译器名称,CC和LD分别是编译命令和编译选项。这是个参数是系统默认值,都可以通过make_dll命令的参数改变。
2. 编写C语言文件,我们选用***目录下external\call_external\C中的sum_array.c作为例子,如下
#include &idl_export.h&
float sum_array_natural(float *fp, IDL_LONG n)
float s = 0.0;
while (n--) s += *fp++;
return(s);
float sum_array(int argc, void *argv[])
return sum_array_natural((float *) argv[0], (IDL_LONG) argv[1]);
为了方便,我们把sum_array.c放入COMPILE_DIRECTORY目录中。
从程序中我们注意到:
a) 需要包含头文件idl_export.h,该文件的目录已经在CC参数中设置,/I&D:\RSI\IDL62\external\include&;
b) 定义一个适用于IDL调用的函数float sum_array(int argc, void *argv[]),该函数的参数必须是int argc和void *argv[]。该函数以后要被CALL_EXTERNAL调用,通用的形式是return_type example( void *argv[]);
c) 在sum_array函数中调用自己设计的函数sum_array_natural,有两个参数通过指针数
组argv[]传递,argv[0]是数组的指针,argv[1]是长整型变量,关于参数的传递可参考帮助;
3. 利用make_dll命令编译sum_array.c文件,
IDL& make_dll,'sum_array','sum_array_examples',['sum_array_natural','sum_array']
这时在COMPILE_DIRECTORY目录中生成sum_array_examples.dll文件。这里'sum_array'是需要编译的c语言文件名,省略扩展名。'sum_array_examples'为生成dll文件的名称,['sum_array_natural','sum_array']是需要输出的函数。
4. 下面我们就可以利用CALL_EXTERNAL命令来调用sum_array_examples.dll中的函数了,例如
IDL& arr_l=FINDGEN(10)
IDL& result = CALL_EXTERNAL('C:\Documents and Settings\Dave\.idl\rsi\compile_dir-118-idl_6_2-win32-x86-m32-f64\call_external_examples.dll','sum_array',arr_l, n_elements(arr_l),VALUE=[0,1], /F_VALUE, /CDECL)
IDL& print,result
上面CALL_EXTERNAL的参数:
a) 'C:\Documents and Settings\Dave\.idl\rsi\compile_dir-118-idl_6_2-win32-x86-m32-f64\call_external_examples.dll'是call_external_examples.dll文件的目录
b) 'sum_array'是需要调用call_external_examples.dll里面的函数;
c) Value选项定义参数传递的方式,指针传递用0表示,非0表示值传递;
d) /F_VALUE表示函数返回float类型变量;
e) /CDECL定义call_external_examples.dll文件传递参数的方式,适用于C语言,详细参考dll文件的生成。
IDL 6.4如何生成调用了envi函数的独立运行程序呢
我把论坛里的帖子都看了一遍,大伙都用IDL7.0了。可我用的是envi 4.4,
所以IDL还是6.4 版。我遇到的问题是,我写了个小程序,调用了envi 函数,
如何在IDL6.4中 生成独立运行的程序呢。是否必须***envi呢?
收藏 分享 评分
有两种方法:
一、模仿ENVI+IDL的运行方式。
1、先建一个文本文件,命名为protes.run
,里面写上程2#
序的名字protest
2、打开idl编辑器把打包程序目录(包含sav文件的目
录)修改成Idl工作目录或者是添加到IDL搜索路径
08:48 | 只
3、建立一个快捷方式。在快捷方式的属性中 目标 加上看该作者
idlde路径 -minimized -nodemowarn -noconfirmexit -nosplash @
&run文件路径&例如:
D:\Program\envi44\IDL64\bin\bin.x86\idlde.exe -minimized
-noconfirmexit -nosplash @&D:\protest\protest.run&,最好的方
式是直接赋值修改ENVI+IDL的快捷方式^_^
二、直接保存为sav文件,
1、在程序开始部分加入:compile_opt idl2 加在
Pro...End内
2、调试完成后,新开一个IDL编译器,打开程序,编译
3、不使用Resolve_all,使用
Save,file='.sav',/routines保存Save文件
注意:如果在编译的时候IDL编译器如提示不能识别ENVI
的函数,可在程序开始前使用Forward_function ENVI函数标识出
ENVI函数,然后就可以直接双击运行打包后程序了,也可以使用
IDLrt.exe运行,前提当然你的系统上要同时***有ENVI。
IDL与外部语言的集成内容包括IDL内调用外部语言和外部语言调用IDL。以下几篇博客简要介绍常用的几种调用方式,希望与大家共同学习和进步。
一、外部语言调用IDL:
Connector(连接器):即使用IDL事先做好的ActiveX控件和com控件集成到调用语言中。(本实验环境为VS2005 C#,IDL6.4,ENVI4.4)
1. IDLDrawWidget
draw方式(窗口模式): VS工具箱添加com项IDLDrawWidget control 3.0,在form窗口添加该控件,初始化:
如果pro没有编译成sav,可将pro置放于运行目录下,直接运行
axIDLDrawWidget1.ExecuteStr(&satstretch&);
nodraw方式:VS资源管理器添加引用com:IDLDRAW3Lib。初始化: Code
2. COM_IDL_Connect(nodraw方式)
VS资源管理器添加引用com:COM_IDL_ConnectLib,初始化:
此调用过程VS会报错,但IDL程序会正常运行,一直不知道什么地方出了问题,我catch了错误没有理会它。有知道的看过后烦请指教一下。
1. IDLDrawWidget在IDL6.4以后的版本已经被ITT放弃,不再更新,公司以后会朝着COM方向发展。使用Export Bridge Assistant可以将IDL 程序包装成com组件在其他支持com的语言中使用。这个是下篇博客介绍的内容。
2.参数传递问题,参数传入很好解决。参数传出也提供了相应的接口。
IDLDrawWidget提供getNameData方法,具体使用如下:
COM_IDL_Connect提供的接口是GetIDLVariable,调用方法和
getNameData一样。
3. 如果VS运行于64bit的机器,生成目标平台最好改为x86,否则会出错。(VS for 64x我没有测试过)
三亿文库包含各类专业文献、幼儿教育、小学教育、中学教育、各类资格考试、行业资料、IDL调用程序46等内容。 
 因此,实际 上,尤其在 IDL 的程序中,选择一个硬拷贝输出设备的代码一般都类似...例如,如果调用 Plot 或 Surface 命令,并且 显示设备为当前工作的图形设备,当前...  做出反应的程序 2、 编写作为应用程序接口的组件的代码 3、 实现组件 4、 调用 XManager 对事件流进行管理 IDL 窗口组件组件程序中的组件定义, IDL 窗口组件要求...  在你写的每个程序的开头键入 compile_opt strictarr,这个解译起来有点不太好...[5]都可以索引数组,但 idl 尝试 去识别 arr(5)是索引一个数组还是调用一个...  Java 调用 IDL 方法总结 Java 调用 IDL 程序,需要先在 java 中加载 IDL 的 java 包(javaidlb.jar),该包不需要下载,在 IDL 的***目录中可以直接找到( C:...  当需要时,过程和函数会在运行时自动编译,如果 IDL 调用的过程或函数之 前未被编译过,则 IDL 会搜索路径下所有的文件夹以搜索源文件的名称。 3.3. 程序控制...  注意:当采用这种方式读入后,在 idl 中调用该文件时文件的名字发生了变化,假如...复制代码 END 1 评分人数 idl 一个读取文本文件的程序
17:40:...  IDL入门教程十二_IT/计算机_专业资料。idl语言教程第十二章 对话框程序本章概述本章主要讲解两种编写对话框程序的方法。 对话框是用于接收用户信息, 并把信息传递 ...  iVolume 对体数据的剖析和展示工具 四.IDL 与其它语言的调用在 VC,VB 等开发工具中以 ActiveX 控件的方式被调用,参见 IDL 举例程序 五.IDL 调用外部程序 1. ...  而且,将看到,如果仔 细地用栅格图形命令编写 IDL 程序时, 可以克服许多与栅格...OPlot 命令中的曲线将调用通过 Axis 命令保存的比例因子,以确定其在图形中的...

参考资料

 

随机推荐