2016-11-25 132 views

回答

4

如何使用宏?

#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 

然后在你的代码,你用my_MPI_SIZE_T数据类型要转移size_t类型的数据每次。