2
MPI에서 size_t 유형 번호를 보내는 가장 안전한 방법은 무엇입니까? 예를 들어, 나는 그것이 이 아니라고 확신합니다.은 맹목적으로 MPI_INT로 보내면 안전합니다. MPI_LONG은 항상 작동합니까?MPI로 size_t 유형 데이터 보내기
MPI에서 size_t 유형 번호를 보내는 가장 안전한 방법은 무엇입니까? 예를 들어, 나는 그것이 이 아니라고 확신합니다.은 맹목적으로 MPI_INT로 보내면 안전합니다. MPI_LONG은 항상 작동합니까?MPI로 size_t 유형 데이터 보내기
매크로 사용은 어떻게됩니까?
#include <stdint.h>
#include <limits.h>
#if SIZE_MAX == UCHAR_MAX
#define my_MPI_SIZE_T MPI_UNSIGNED_CHAR
#elif SIZE_MAX == USHRT_MAX
#define my_MPI_SIZE_T MPI_UNSIGNED_SHORT
#elif SIZE_MAX == UINT_MAX
#define my_MPI_SIZE_T MPI_UNSIGNED
#elif SIZE_MAX == ULONG_MAX
#define my_MPI_SIZE_T MPI_UNSIGNED_LONG
#elif SIZE_MAX == ULLONG_MAX
#define my_MPI_SIZE_T MPI_UNSIGNED_LONG_LONG
#else
#error "what is happening here?"
#endif
그런 다음 코드에서, 당신은 데이터 형식으로는 유형
size_t
의 데이터를 전송할 때마다
my_MPI_SIZE_T
을 사용합니다.