当前位置: 首页 > news >正文

网站内部结构优化wordpress建站注册新用户

网站内部结构优化,wordpress建站注册新用户,比较火的推广软件,网站跳出率高还是低文章目录 前言没有警告不代表没有问题目前的应对方法 前言 很久没写了#xff0c;水一篇。 最近有个代码在gcc 4.8.5上编译失败。编译失败的提示是#xff1a; error: dereferencing type-punned pointer will break strict-aliasing rules [-Werrorstrict-aliasing]查了下… 文章目录 前言没有警告不代表没有问题目前的应对方法 前言 很久没写了水一篇。 最近有个代码在gcc 4.8.5上编译失败。编译失败的提示是 error: dereferencing type-punned pointer will break strict-aliasing rules [-Werrorstrict-aliasing]查了下这个报错有点复杂。大体是不要使用一个类型的指针去操作另一种指针指向的空间。比如下面这样 #include inttypes.h #include stdio.hstruct internet {__uint16_t ip; };__uint8_t address[10];int main(int argc, char *argv[]) {address[0] 1;address[1] 2;struct internet *net (struct internet *)address;__uint16_t ip net-ip;printf(% PRIu8 \n, address[0]);printf(% PRIu8 \n, address[1]);printf(% PRIu16 \n, ip); }然而上面这段代码在不同的gcc 11.4.1版本下编译没有问题。 关于Strict Aliasing Rule的详细解释见What is the Strict Aliasing Rule and Why do we care?、c when would you not want to use strict aliasing? 我也没有完全搞懂。下面示例来自这个链接。 没有警告不代表没有问题 下面我们来看下这个示例。在常见的gcc版本下编译都能复现。 #include iostreamint foo(float *f, int *i) {*i 1;*f 0.f;return *i; }int main() {int x 0;std::cout x std::endl; // Expect 0int x_ret foo(reinterpret_castfloat *(x), x);std::cout x_ret \n; // Expect 0?std::cout x std::endl; // Expect 0? }首先我们编译的时候不要开启优化输出如下 g -O0 demo-2.cpp -o demo-20 0 0接着我们编译的时候开启优化输出如下 g -O2 demo-2.cpp -o demo-20 1 0这就比较脑壳痛了。日常开发编译的是debug版本它没有优化。发布的时候编译的是release版本它有一定的编译优化。然后相同的代码debug和release版本的运行不同。这个问题可能就很难排查。 为什么会出现这种情况编译器也没有给出警告 大概是因为优化的时候编译器看到要返回的是i和f又没有什么关系给返回寄存器里面提前填入了i的值。 目前的应对方法 一般来说日常编程中即使不同类型的指针操作相同的内存也不会出现上面这种情况。所以正常使用就好不用特地回避出问题再解决问题。为什么不事先回避这个问题呢因为搞不清那就先不管。 如果遇到上面这种问题或者因为这个问题编译失败怎么办呢 第一种方法是使用memcpy进行拷贝不要直接使用不同类型的指针操作相同的内存。第二种方法是在gcc的构建选项中添加-fno-strict-aliasing选项。但是这会导致整个构建过程都忽略了这个限制。第三种是可以尝试下使用__attribute__((optimize(-fno-strict-aliasing)))修饰函数但是这不一定有效。
http://www.hkea.cn/news/14506382/

相关文章:

  • 周口城乡建设局网站亚马逊跨境电商app
  • 正规网站建设公司多少钱WordPress 简历库
  • 网络规划设计师思维导图seo顾问赚钱吗
  • 手机wap网站用什么语言开发WordPress注册免发邮件
  • 大连网站排名系统江苏省建设集团有限公司网站首页
  • 高邮城乡建设局 网站c 网站开发代码
  • 苏州企业商务网站建设销售员做网站
  • 番禺建设网站专家广州市网站设计公司
  • 织梦cms视频网站建设网站构建工具
  • 山东城市建设学院网站公司企业宣传片制作公司
  • 网站建设管理相关规定桂林市中考信息网官网
  • 科技成果展示网站建设方案微信哪家公司开发的
  • 怎样知道网站有没有做推广关于建设网站的图片
  • 架设个人网站html网页设计表格代码范文
  • 主营网站开发做网站的一个黑点符号
  • 天津专业的做网站与运营的公司湛江网站建设详细策划
  • 网站域名组成鞍山人才网怎么查档案
  • 旅游网站的网页设计参考文献重庆高端网站设计
  • 百度会收录双域名的网站么自己做的网站怎么挂网上
  • 十八哥公司网站开发php开发手机端网站开发
  • 网站建设 电脑 手机莱芜app下载
  • 峨眉山网站建设微信app下载安装官方免费下载
  • 京东电子商务网站的建设网站开发摊销多少年
  • 网站到期续费要多少钱网站优化优化怎么做
  • 黑龙江建设教育网站网站建设招标说明书
  • 织梦手机网站模板下载通用网址查询网站
  • 网站建设需要服务器么wordpress前端开发
  • 拍拍网站源码品牌线上推广方式
  • django网站开发视频广东网站定制
  • 网站增加新闻功能wordpress集成paypal