c - 映射到 C 数据类型的 C 自定义数据类型分组在单个结构下
问题描述
我正在实现一个消息传递接口,其标准的条件之一是映射到 C 数据类型的自定义 MPI 数据类型。例如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 中做到这一点,所以如果有人有一个很棒的想法。
解决方案
您可以为每种数据类型分配一个唯一的 ID 号,并让消息传递线的双方同意。显然您无法比较数据类型,即if (data_type == MPI_INT)
,但您可以比较 ID。
推荐阅读
- c# - 如何在应用程序启动时在第一种形式的菜单栏下显示第二种形式?
- python - 用用户词典和其他人替换特定单词为0
- javascript - 当鼠标悬停在任何按钮上时执行一个函数
- r - 训练一个基本的 SVM 不产生预测
- makefile - 如何删除makefile中的子字符串
- python - Python mysql.connector - cursor.execute("WHERE .... ) 返回 NoneType
- powershell - (400) 尝试向 API 发布简单值时出现错误请求
- python-3.x - h2o 深度学习算法接受多少类?
- php - PHP根据http请求创建目录
- java - Java中的基本RE