1. 首页
  2. 数据库
  3. 其它
  4. warning: dereferencing type punned pointer will break strict aliasing rules

warning: dereferencing type punned pointer will break strict aliasing rules

上传者: 2021-01-31 16:43:14上传 PDF文件 30.74KB 热度 7次
在 gcc 2.x 下编译没有任何 warning 信息的代码换到 gcc 3.x 版本下之后出现了类似的 warning 。原因是 gcc 3 引入了 strict aliasing 架构,当编译时使用了 -fstrict-aliasing 参数(该参数在使用了 -O2 , -O3, -Os 优化参数的情况下默认生效),而源代码中存在一些违反了 strict-aliasing 规则的地方的话,编译器就会对这部分代码提出 warning 。 使用 -fno-strict-aliasing 参数来关闭 gcc 的优化选项,代价是放弃了 strict-aliasing 编译优化可能带来的可执行代码
下载地址
用户评论