MPI_BYTE
- это тип данных, используемый при отправке нетипизированных данных, а не MPI_CHAR
.Если две машины имеют одинаковую архитектуру, но используют различную кодировку символов, использование MPI_CHAR
может повредить ваши данные.Отправка ваших данных как MPI_BYTE
оставит двоичное представление таким, как оно есть, и не будет выполнять никакого преобразования представления.
Тем не менее, технически правильно отправлять структуру таким способом, если (и только если)Вы можете гарантировать, что представление данных будет одинаковым на отправляющей и получающей сторонах.Тем не менее, это плохая практика программирования, поскольку она запутывает цель вашего кода и вводит зависимость от платформы.
Помните, что вам нужно только определить и зафиксировать тип данных, в то время как вам, как правило, нужно писатькод, чтобы отправить его несколько раз.Снижение четкости всех ваших отправлений только для того, чтобы сэкономить пару строк в одном определении, не является компромиссом.