文档章节

google-breakpad在C++ 11下编译错误修改

m
 magicm
发布于 2016/07/14 10:47
字数 157
阅读 19
收藏 0

我只用到了exception_handler模块,暂时还未用到Server模块,因为用到了C++ 11的一些特性,而google-breadpad还没有C++11版本,所以做了一些修改,集中在类型定义处

1.

typedef typeof(((struct user*) 0)->u_debugreg[0]) debugreg_t;

修改为

#if __cplusplus > 199711L
typedef std::remove_reference<decltype(((struct user*) 0)->u_debugreg[0])>::type debugreg_t;
#else
typedef typeof(((struct user*) 0)->u_debugreg[0]) debugreg_t;
#endif

 

2.

typedef typeof(((elf_aux_entry*) 0)->a_un.a_val) elf_aux_val_t;

修改为

#if __cplusplus > 199711L
typedef decltype(((elf_aux_entry*) 0)->a_un.a_val) elf_aux_val_t;
#else
typedef typeof(((elf_aux_entry*) 0)->a_un.a_val) elf_aux_val_t;
#endif

 

因C++11中用了decltype来声明类型,所以做了兼容

本文转载自:https://www.cppfans.org/1730.html

共有 人打赏支持
上一篇: 重定向小结
m
粉丝 0
博文 8
码字总数 669
作品 0
深圳
私信 提问
[转]chrome涉及开源项目

Google Chrome是一个优秀的开源的浏览器,其开发过程大量地使用了网上现在成熟稳定的开源代码,目前Chrome所涉及26个开源代码: 1、Google Breakpad /src/breakpad 开源的跨开台程序崩溃报告...

bin.feng
2010/12/15
0
1
程序编译为何失败?

完美的程序不会是一次就写成功的,都要经过反复编译、调试、修改。调试过程可能会花费大量的时间,如果了解了常见编译错误发生的原因,这有助于节省时间,提高开发效率。 Google、香港科技大...

oschina
2014/06/27
2.7K
10
++i在C、C++中是不是左值?

前些天写blog左值与右值(C++学习)时,已经确认在C++中,++i 是左值。可是,今天在newsmth的C语言版上看到一个相关的问题。发现在C语言中,++i不是左值。 例子 一个很简单的例子: 保存成 he...

晨曦之光
2012/05/08
536
0
一篇C/C++自测试题(不是很难, 附解答)

编辑自一本叫《高质量C/C++编程指南》的书,虽然这些题有错误,而且不大严谨,但我觉得也能一定程度上测试C/C++水平. 我对题目和答案做了非常大幅度的修改,虽然仍存在已知的不严谨之处,但比...

王子亭
2013/01/12
1K
2
在 Qt4 中使用 C++11

在 Qt4 中使用 C++11 原文出处:blog.qt.digia.com/cn/2011/08/22/cpp0x-in-qt 我们前面介绍了许多 C++ 11 的优点,而且介绍了如何在 Qt 5 中使用 C++ 11。但是,Qt 5 毕竟只是一个尚未发布的...

ruguonandao
2013/03/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spak—— sparkCore源码解析之RangePartitioner源码

   分区过程概览 RangePartitioner分区执行原理: 计算总体的数据抽样大小sampleSize,计算规则是:至少每个分区抽取20个数据或者最多1M的数据量。 根据sampleSize和分区数量计算每个分区的...

freeli
9分钟前
0
0
从内部自用到对外服务,配置管理的演进和设计优化实践

本文整理自阿里巴巴中间件技术专家彦林在中国开源年会上的分享,通过此文,您将了解到: 微服务给配置管理所带来的变化 配置管理演进过程中的设计思考 配置管理开源后的新探索 配置中心控制台...

阿里云官方博客
10分钟前
0
0
MySQL用户管理,常用MySQL语句、MySQL数据库备份恢复

12月6日任务 13.4 mysql用户管理 13.5 常用sql语句 13.6 mysql数据库备份恢复 13.4 mysql用户管理 grant all on *.* to 'user1' identified by 'passwd'; grant SELECT,UPDATE,INSERT on db......

zgxlinux
11分钟前
1
0
Spring异常之Druid – unregister mbean error

Spring异常之Druid – unregister mbean error 2017年04月19日 12:13:42 Dr.Zhu 阅读数:6688 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zt_fucker/arti...

linjin200
16分钟前
1
0
微信小程序webview问题

今天在改小程序的时候在使用webview的时候切换webview的地址行为,出现了诡异的情况。 默认querystring里会有多个?符号,使用的时候被微信给截取了,导致程序找不到改页面。 而且querystri...

钟元OSS
19分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部