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

建立网站三大基础帝国cms网站地图生成器

建立网站三大基础,帝国cms网站地图生成器,国际新闻最新消息今天大事件,wordpress 使用jquery问题 遇到问题的背景是: 我希望在全局变量定义的时候初始化一个全局变量: 就是这个_networker 我原先是这么写的: 这里就是一个简单的获取单例的函数。 然后在Networker的构造函数里面会有: 读取配置文件和Initialize函数&#xf…

问题

遇到问题的背景是:

我希望在全局变量定义的时候初始化一个全局变量:

就是这个_networker

我原先是这么写的:

这里就是一个简单的获取单例的函数。

然后在Networker的构造函数里面会有:

读取配置文件和Initialize函数,读取配置文件这里没什么问题我就不讲了。

关键在于初始化函数:

在初始化函数里面有某一段是这样的:

其中_OM是一个定义在cpp文件里面的全局变量:

OP_TYPE是一个枚举类型,存储着不同操作的类型。

而此时运行代码的时候,在第一个_OM初始化语句就报错了:

_OM[Util::StrHash("HEARTBEAT")] = OP_TYPE::HEARTBEAT;

报的是段错误,这时候我很纳闷?难道是hoscotch_map不支持枚举类型做值???看了一眼又发现其构造类型是泛型。但是这里一直在报错,并且我把全局变量改成Networker类的静态变量也会报错。

解决

后来才知道,原来全局变量和静态变量都存在静态区,而静态区的变量初始化顺序是随机的,也就是说在我执行到下面的代码的时候,这时候还没有进入main函数,也就是说程序此时还在随机的初始化所有的静态变量,而此时恰好_networker的初始化在_OM的前面,所以在initialize()执行的时候_OM还未初始化,所以导致了段错误

shared_ptr<Networker> _networker = Networker::getSingleton(); 

其实我一开始问gpt的时候,gpt就给出了答案,只是我当时还不理解这个过程:

但此时gpt给出的答案是StrHash中用了没初始化的对象,但是方向对了,所以算半对吧。

这个问题是一个隐性bug,工作中碰到这样的bug很难发现,所以特此记录。

防御性编程

在编程的时候养成习惯,静态变量的初始化定义放在主程序的某个初始化函数中执行。

其次,如果需要检查代码是否存在这样的问题,可以对每个全局变量或静态变量的初始化检查其初始化函数调用链中是否存在其他静态变量或全局变量,如果存在就有静态变量初始化顺序的问题。


文章转载自:

http://r2hhG8sM.ptdzm.cn
http://FgNgAdwy.ptdzm.cn
http://4zClZ6qR.ptdzm.cn
http://LAlJD8iO.ptdzm.cn
http://ob5H4RmJ.ptdzm.cn
http://54hSAfW6.ptdzm.cn
http://TINTZWq4.ptdzm.cn
http://pGvhclBJ.ptdzm.cn
http://HEeKrunj.ptdzm.cn
http://2V9rORQs.ptdzm.cn
http://GcAFRue4.ptdzm.cn
http://NWNZ7olz.ptdzm.cn
http://cdatPqNI.ptdzm.cn
http://GZMIWuec.ptdzm.cn
http://FoXNCOkg.ptdzm.cn
http://uagGB7Rs.ptdzm.cn
http://qA7UCxl2.ptdzm.cn
http://T2uQVRMI.ptdzm.cn
http://miLZjgV7.ptdzm.cn
http://6gvg8MoY.ptdzm.cn
http://ijonamux.ptdzm.cn
http://I1Gztkba.ptdzm.cn
http://H7wXV36U.ptdzm.cn
http://nmOqaqk8.ptdzm.cn
http://WJkCExAP.ptdzm.cn
http://XpH6ut1a.ptdzm.cn
http://sbzlWW2z.ptdzm.cn
http://iwQU2Sxn.ptdzm.cn
http://bRCJaDkB.ptdzm.cn
http://bXjXCA4a.ptdzm.cn
http://www.dtcms.com/wzjs/636802.html

相关文章:

  • 网站不能写入php文件赣州快车公众号
  • 织梦商城网站模板网站后台密码如何破解
  • 龙泉公路建设投资有限公司网站天天ae模板网
  • 加强医院微信和网站建设免费电商网站建设
  • 万州房地产网站建设网站制作推广方案
  • 南阳建设重要区域中心城市网站织梦视频网站模板
  • 模板做图 网站有哪些用asp做网站
  • 天台县网站建设哪家好网站大全免费下载
  • o2o网站做推广公司柳州团购网站建设
  • 温岭市建设局网站审批公示互联网外包是什么意思
  • 保定网站建设苗木东莞南城最新通告
  • 娄底建设网站花店网页设计素材
  • 关键词挖掘网站怎样做支付网站
  • 龙华住房和建设局网站官网镇江佳鑫网络科技有限公司
  • 网站别人能打开我打不开帮人做网站
  • 哪个网站可以做自己的网页做媛网站
  • seo网站营销公司淘宝网站的建设内容
  • 网站上的动图都怎么做的重庆是哪个省份的
  • ajax网站模板小企业做网站多少钱
  • 招聘网站怎么做seoseo任务
  • 讨债公司网站建设自己建网站需要多少钱
  • 手机建立网站天津交通网站建设
  • 北京外贸营销网站建设费用wordpress 模板 小工具
  • 网站建设与设计的论文企业网站找谁做好
  • 是否有可能一个人完成网站开发电脑做网站服务器改端口
  • 医院做网站的好处家居网站建设流程
  • asp.net开发移动网站模板下载怎么用vs做网站开发
  • 重庆教育建设有限公司网站重庆市建设工程信息网安全监督成绩查询
  • 网站服务器位于北美东莞制作网站
  • 网站排名的重要性工作总结2023年个人