IDL语言数据类型

IDL语言数据类型


发布日期: 1970-01-01 更新日期: 2015-02-04 编辑:giser 浏览次数: 7043

标签:

摘要: (1)基本数据类型:OMG IDL基本数据类型包括short、long和相应的无符号(unsigned)类型,表示的字长分别为16、32位。 (2)浮点数类型:OMG IDL浮点数类型包括float、double和long double类型。其中float表示...

(1)基本数据类型:OMG IDL基本数据类型包括short、long和相应的无符号(unsigned)类型,表示的字长分别为16、32位。

(2)浮点数类型:OMG IDL浮点数类型包括float、double和long double类型。其中float表示单精度浮点数,double表示双精度浮点数,long double表示扩展的双精度浮点数。

(3)字符和超大字符类型:OMG IDL定义字符类型char为面向字节的码集中编码的单字节字符; 定义类型wchar为从任意字符集中编码的超大字符。

(4)逻辑类型:用boolean关键字定义的一个变量,取值只有true和false。

(5)八进制类型:用octet关键字定义,在网络传输过程中不进行高低位转换的位元序列。 octet 是 8 位类型。因为保证了 octet 在地址空间之间传送时不会有任何表示更改,因此这就使它变成了一种非常重要的类型。这就表示您可以发送二进制数据,并且知道当将它打包时,它的形式仍然相同。其它每种 IDL 类型在传输时都有表示变化。例如,根据 IOR 代码集信息的指示,char 数组会经历代码集转换。而 octet 数组却不会。

(6)any数据类型:引入该类型用于表示OMG IDL中任意数据类型。

(7) 常量 OMG

IDL用const关键字声明一个常量,用于模块(module)或接口(interface)中定义保持不变的量,如: const double PI =3.1415926; 在IDL中,可以定义long、unsigned long、unsigned short、char、boolean、float、double、string类型的常量。

(8)结构类型: typedef long GoodsNumber; struct { GoodsNumber number; string name; float price; }

(9)联合类型: union stockIn switch( short ) { case 1: stocker : long; case 2: goodsName1 : string; case 3: goodsName2 : string; }

(10)枚举类型: enum GoodsStatus { GOODS_SALED, GOODS_INSTOCK};

(11) 数组类型 OMG IDL的数组类型提供了多维定长、统一数据格式的数据存储方式——数组。每一维的长度必须在定义时给定,所有数据单元必须存储相同类型的元素。如下例定义一个长度为20×100的整数数组: typedef long aDimension[20][100];

(12)模板(template)类型

(13)序列(sequence)类型: 用该方法定义长度可变的任意数值类型的存储序列,通常在定义时可以指定长度,也可以不指定,如: typedef sequence

aSequence; //长度定义为80

typedef sequence anotherSequence; //长度不定

字符串(string)序列: 同样对于字符串序列类型,也有两种定义方式:

typedef string <80> aName; //长度定义为80

typedef string anotherName; //长度不定

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org