# 基础数据类型映射
下表概括了接口定义语言(IDL)支持的基本数据类型,以及基本类型到 C++的映射关系。
注意:boolean 在开发使用时可赋值为 0 或 false 表示 false 值,其他值均表示 true。
表 1 IDL 基础数据类型 C++映射关系
IDL | C++ |
---|---|
short | short |
long | long |
unsigned short | unsigned short |
unsigned long | unsigned long |
float | float |
double | double |
char | char |
boolean | unsigned char |
octet | unsigned char |
long long | long long |
unsigned long | unsigned long |
# IDL 定义示例
IDL 基础数据类型在 idl 文档中定义示例(以结构体为例):
struct UserDataType{
short s;
long l;
unsigned short us;
unsigned long ul;
float f;
double d;
char c;
boolean bln;
octet o;
long long ll;
unsigned long long ull;
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 代码示例
生成测试用例后在 pub.cpp 中创建数据样本后添加赋值语句:
/* 6. 创建一个数据样本 */
/* 建议:该数据需要申请空间后使用,使用后用户需要调用delete_data进行内存等资源的释放*/
UserDataType *instance = NULL;
instance = UserDataTypeTypeSupport::create_data();
instance->s = 1;
instance->l = 2;
instance->us = 3;
instance->ul = 4;
instance->f = 5.5;
instance->d = 6.6;
instance->c = 'c';
instance->bln = true;
instance->o = 'o';
instance->ll = 7;
instance->ull = 8;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 数据收发示例
图 1 为使用IDL 定义示例中结构体生成的测试 demo,在 Windows 系统上启动发布端、在 Linux 系统启动订阅端后的数据收发情况。
图 1 基础数据类型收发测试(Windows->linux)
图 2 为使用**IDL 定义示例**中结构体生成的测试 demo,在 Linux 系统上启动发布端、在 Windows 系统启动订阅端后的数据收发情况。
图 2 基础类型 demo 收发测试(Linux->Windows)
← 概述 字符串类型(string) →