先由美国ITT公司所有,后由美国ExelisVis公司所有。最初在七十年代后期用于帮助科学家分析火星探险卫星发回的数据,将浩瀚的数据转换为图形。从此后,IDL得到广泛运用,使用者日众,呈几何级别增长。IDL使用者可以迅速且方便地运用此软件将数据转换为图像,促进分析和理解。通过软件转化的图像既可以是简单色彩,也可以是全色三维图像和模型。
IDL支持面向对象的编程, 但是并不完整, 不支持对成员的可见性的设定.可以通过定义单独文件的方式来定义IDL类, 比较容易管理, 定义的方式是:
pro <ClassName>__define
struct = {<className>, ...}
end
文件名是:<ClassName>__define.pro
在这个文件中, 还可以添加类成员函数的定义, 如:
pro <className>::hello
...
end
IDL不区分大小写, 所以类名/函数名/关键字等均可以不受大小写的限制
IDL对类提供一些专门的成员函数, 完成专用的任务. 比如: INIT为构造函数, CLEANUP为析构函数(在对象被释放时调用, 比如OBJ_DESTROY函数). 但是这些函数不能在外部被调用, 但是可以在函数内部看到, 主要是为了手工调用, 以实现父类的初始化函数被调用(IDL不会自动调用父类的INIT函数)
INIT函数可以带参数, 可以在调用OBJ_NEW生成对象时传入.
OBJ_NEW函数的调用形式如下:
Result = OBJ_NEW( [ObjectClassName [, Arg1......Argn]] )
IDL的函数和过程参数可以不完整, 比如函数A定义了5个参数, 可以用0-5个参数来调用. 对调用的参数情况可以用N_PARAMS和N_ELEMENTS来判断, 前者可以得到实际的调用参数的个数, 后者可以判断某个参数是否有值
sub Test::INIT, caption
print, N_PARAMS() 返回参与调用的参数个数
print, N_ELEMENTS(caption) 返回1为有值, 返回2为未定义
...
end
可以定义多个同名函数, 但只有最晚定义的那个有效, 前面的会被隐藏
分类: 商业/理财 >>贸易问题描述:
IDL是什么东西?
解析:
Java IDL(Interface Definition Language,接口定义语言)为 JavaTM 平台添加了 CORBA(Common Object Request Broker Architecture,公用对象请求代理体系结构)功能,从而可提供基于标准的互 *** 作性和连接性。Java IDL 使分布式、支持 Web 的 Java 应用程序可利用 Object Management Group 定义的行业标准 OMG IDL(Object Management Group Interface Definition Language,对象管理组接口定义语言)及 IIOP(Inter Inter-ORB Protocol,Inter对象请求代理间协议)来透明地调用远程网络服务。运行时组件包括一个全兼容的 Java ORB,用于通过 IIOP 通讯进行分布式计算。要使用 Java IDL,用户必须具有 idltojava 编译器。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)