GCC编译选项--"-fno-strict-aliasing"

文中的编码方法绝对要禁止用在项目中, 最近用开源的代码时碰到过需要这个选项的警告

这两天编译别的组的代码。编译器是GCC4.1.2,发现使用优化选项O2以上代码执行的结果和使用O1(或不使用优化选项)不一样,使用O1编译出来的代码执行结果是正确的。上网搜索了一下,发现了原因。
    代码中有如下语句:

          float f = j;
          unsigned int* p = (unsigned int*)(&f);

    上述代码的第二句有强制类型转化,是出现问题的原因。原因及解决方法如下,是英文的:
      If optimization level is >= 2 in gcc-4.1, strict-aliasing is used, and this could cause probelms when a pointer is referencing to a different type of object and the object is refered there after by using this pointer. That is the case in this example. So you should force the compiler to not use strict-aliasing by a argument "-fno-strict-aliasing" if you want to use "-O2" or "-O3".

已标记关键词 清除标记
借书------根据您提供的图书条形码和图书编号确认图书,再据读者的编号确认读者后把此书借给这位读者。 还书------根据您提供的图书条形码和图书编号确认图书,再据读者的编号确认读者后把此书归还。 图书管理------对所有图书的资料进行添加,修改和删除等操作。 读者管理------对所有读者的资料进行添加,修改和删除等操作。 查询------所有图书、不在馆图书,今天借出图书、今日归还图书、今日新进图书和有条件查询。 统计------图书基础状况统计排名。 管理员------在这里修改管理员的登录密码。 1.4 需求分析 1.4.1 软件需求 管理员可以维护客户注册信息、维护图书信息、处订定单信息、 网上售书、查看图书调查报告;。本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。  开发意图:面对网购越来越走红的趋势,结合广大书迷对于购书的需求,特意推出书店的网络版,以满足广大购书者能够实现足不出户就购买到所需图书的意愿。  作用范围:本网上书店系统暂时面向单机使用,有机会将会架设在公用网络上,以满足广大网民新形势下对于买书的需求。  《网上书店管理系统》正是基于这种市场潜力,面向全国中小型图书销售商而开发的,力争为全国的中小型书店提供一款功能完善、界面友好、性能可靠的网上销售系统。
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页