编译c时提示“dereferencing type-punned pointer will break strict-aliasing rules”如何处理?
1. 示例如下:
char my_array[10];
*(int *)my_array = 0xaabbccdd;
2. 修改如下即可解决此问题:
char my_array[10];
int tmp = 0xaabbccdd;
memcpy(my_array, &tmp, sizeof(tmp));
1. 示例如下:
char my_array[10];
*(int *)my_array = 0xaabbccdd;
2. 修改如下即可解决此问题:
char my_array[10];
int tmp = 0xaabbccdd;
memcpy(my_array, &tmp, sizeof(tmp));