C自定义数据类型映射到分组在单个结构下的C数据类型

时间:2019-05-10 05:39:00

标签: c oop

我正在实现一个消息传递接口,其标准之一是定制MPI数据类型,该映射映射为C数据类型。例如MPI_INT映射到C int

我想做的很简单

typedef int MPI_INT;
typedef short int MPI_SHORT;
...
...
...
etc

但是我希望所有这些自定义数据类型都在一个更通用的数据类型MPI_Datatype下,这样我就可以制作一个函数原型,例如

MPI_Send(void*, MPI_Datatype)

其中MPI_Datatype是MPI_INT,MPI_SHORT等之一

我不太确定如何用C语言做到这一点,所以如果有人有超棒的想法。

1 个答案:

答案 0 :(得分:2)

您可以为每种数据类型分配一个唯一的ID号,并使消息传递行的两端对此都表示同意。显然,您无法比较数据类型,即if (data_type == MPI_INT),但可以比较ID。