文档章节

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

m
 magicm
发布于 2016/07/14 10:47
字数 157
阅读 18
收藏 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
微软承诺将在今年的 Visual C++ 更新中加入 Clang 编译器

微软最近发布将在2015年11月 Visual C++ 更新中加入 Clang 编译器 ,Clang 开源编译器以相比GCC更快的编译速度和更优的错误提示著称。 Clang关于C,C++,及Objective C的编译器,能够生成LLV...

葡萄城控件技术团队
2015/10/27
0
0
在 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
Google开源了Abseil,为C++和Python提供支持

Google公开了其项目内部使用的一系列C++库,随后还会公开其Python库。 Abseil已在Google历经十多年的开发,它的目的是为Google编程人员在各种项目上的工作需求提供支持,这些项目包括Protoco...

linuxprobe16
2017/10/27
0
0
看完这 7 条,模拟 C++ 新功能只是一个小目标!

但是,即使你无法使用这些功能,也不一定要放弃它们的好处。至少不用放弃全部。 有一些方法可以使用代码中新功能的思路,更准确地传达你的意图。 当然,这些方法肯定不如使用新版本C++本身的...

CSDN资讯
09/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Python深体验,常见的数据处理方式(必须要懂的)

1.缺失值处理 - 拉格朗日插值法 input_file数据文件内容(存在部分缺失值): from scipy.interpolate import lagrangeimport pandas as pdimport numpy as npinput_file = './dat...

无也Python
24分钟前
2
0
Spring MVC注解故障追踪记

Spring MVC是美团点评很多团队使用的Web框架。在基于Spring MVC的项目里,注解的使用几乎遍布在项目中的各个模块,有Java提供的注解,如:@Override、@Deprecated等;也有Spring提供的注解,...

Skqing
26分钟前
4
0
区块链入门教程以太坊源码分析cmd包分析

  兄弟连区块链入门教程以太坊源码分析cmd包分析。 ### cmd包概述 * geth 主要Ethereum CLI客户端。它是Ethereum网络(eth主网,测试网络或私有网)的入口点,使用此命令可以使节点作为ful...

兄弟连区块链入门教程
27分钟前
1
0
@Autowired 报红线

代码可正常跑,不过红线看着有点难受,解决方案 使用@Autowired(required=false) 或者@Resource. 这两者区别网上一大堆

斩神魂
33分钟前
1
0
DataTable中检索信息 (C#)

C#_从DataTable中检索信息 存在于内存中的虚拟表DataTable,绑定在数据显示控件后,如果想在再检索其中某些信息,可以利用DataTable.Select方法进行检索,避免了重复的读取数据库。Select方法...

CS-CS01
41分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部