整数运算时可能会出现溢出情况,因此GLib提供了整数相加及相乘时溢出检查函数。
当未溢出时,函数返回TRUE,否则返回FALSE。
#define g_uint_checked_add() // 无符号int相加,无溢出则返回TRUE
#define g_uint_checked_mul() // 无符号int相乘,无溢出则返回TRUE
#define g_uint64_checked_add() // 64位无符号int相加,无溢出则返回TRUE
#define g_uint64_checked_mul() // 64位无符号int相乘,无溢出则返回TRUE
#define g_size_checked_add() // gsize相加,无溢出则返回TRUE
#define g_size_checked_mul() // gsize相乘,无溢出则返回TRUE
无符号整数a和无符号整数b相加,当未溢出时,结果存入dest中,返回TRUE,当溢出时,dest的值无效,返回FALSE。g_uint_checked_add的原型如下:
#define g_uint_checked_add(dest, a, b)