2016-11-25 90 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類型的數據每次。