Jsoncpp库的一个bug
2015-06-05 15:04
609 查看
Jsoncpp有个bug
定义全局对象Value并赋值,类似下面这样,在程序退出的时候会崩溃。
原因是这里,在全局变量析构之前,这个静态变量已经析构了。
改成这样就ok了。
定义全局对象Value并赋值,类似下面这样,在程序退出的时候会崩溃。
Value s_test; int WINAPI WinMain(HINSTANCE s, HINSTANCE p, char * cmd,int show) { s_test["aaa"] = 1; }
原因是这里,在全局变量析构之前,这个静态变量已经析构了。
static ValueAllocator *&valueAllocator() { static DefaultValueAllocator defaultAllocator; static ValueAllocator *valueAllocator = &defaultAllocator; return valueAllocator; }
改成这样就ok了。
static ValueAllocator *&valueAllocator() { static DefaultValueAllocator *defaultAllocator = NULL; if (defaultAllocator == NULL) { defaultAllocator = new DefaultValueAllocator; } static ValueAllocator *valueAllocator = defaultAllocator; return valueAllocator; }
相关文章推荐
- js数组
- javascript数组浅析
- javascript 返回数组中不重复的元素
- JS高级群的日常
- 彻底理解Javascript原型继承
- JS 枚举相关方法
- 一个简单的JSP测试页面
- 《JavaScript高级程序设计》——笔记(1)
- 拥抱原型面向对象编程JavaScript
- 纯JS实现网页中自定义字体
- javascript客户端检测技术
- JavaScript实现图片上标记多点区域
- JS中Math之random,round,ceil,floor的用法总结
- js防止事件冒泡和默认事件
- 踩的一个小坑——JavaScript刷新页面
- js判断指定函数、变量是否存在的方法
- js+html5实现canvas绘制圆形图案的方法
- js+html5实现canvas绘制简单矩形的方法
- js+html5通过canvas指定开始和结束点绘制线条的方法
- js+HTML5实现canvas多种颜色渐变效果的方法