编译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));


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM