所以我必须处理一些结构数据,我必须以一种奇怪的方式为 MPI_Send/Recv 压缩这些数据。
没有办法轻松地将它转换为指向我想要操作的已知类型的指针,然后沿着索引(因为我已经将结构压缩到连续数据中,不能假设任何关于对齐的事情),所以我必须去通过它用指针算术。问题是,为了与 MPI 保持一致,此数据以 void* 形式给出,并且 void* 上的指针运算是非法的。
我的问题主要是文体问题:有没有比转换为 char* 然后做我的指针算术更好的方法?采用 void*、转换为 char*、对其进行处理,然后转换回 void* 时的效率考虑是什么?我无法想象指针转换会非常昂贵。
非常感谢。