gcc7.2: argument range exceeds maximum object size 9..7 [-Werror=alloc-size-larger-than=]
问题 The program contains code like follows: int size; ... int *pi = (int*)calloc(size, sizeof(int)); ... Here is the error message when compiled with gcc7.2: error: argument 1 range [18446744071562067968, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Werror=alloc-size-larger-than=] When I change int *pi = (int*)calloc(size, sizeof(int)); to int *pi = (int*)calloc((unsigned int)size, sizeof(int)); The error disappeared. However, in the program, there are many malloc and