Exceptions Under the Spotlight
2.82 MB
53 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档讨论了C++异常处理机制的历史、实现细节、设计概述及未来替代方案。异常处理的实现主要依赖于libgcc和libstdc++两个库,其中libgcc处理栈展开和帧管理,libstdc++负责异常处理功能。异常处理流程包括栈帧清理、异常重newsletter再抛等阶段,通过__gxx_personality_v0等函数实现。文档还探讨了异常处理的历史发展和未来的可能变化。 | ||
AI总结 | ||
## 《Exceptions Under the Spotlight》总结
### 作者简介
Inbal Levi是C++爱好者,曾在Solar Edge工作于智能家居的嵌入式软件开发,同时是CoreCpp会议与用户组的组织者,WG21成员, 以色列国家委员会的创始人之一,物理学背景,热爱数学。
### 文档大纲
文档分为五部分:
1. **部分0**:异常的基本概念
2. **部分I**:异常的历史与发展
3. **部分II**:异常处理的开销
4. **部分III**:设计总览
5. **部分IV**:替代方案
6. **部分V**:未来展望
### 免责声明
- 本文重点探讨异常处理机制,不涉及最佳实践。
- 所展示代码为概念验证,仅在Linux运行。
- 不涉及并发性问题。
### 部分0:异常概述
异常是语言级别的错误处理机制,1989年引入C++,1994年各公司关注异常使用,假设异常用于错误处理且发生频率低。
### 部分I:历史与发展
异常在多次更新中逐步完善,解决资源泄漏,增强了代码的强健性。
### 部分II:异常开销
异常处理涉及栈展开和异常处理,实现于libgcc和libstdc++库,处理流程包括触发展开至catch调用。
### 部分III & IV:设计与替代
讨论异常的设计实现及替代方案,如错误码和断言。
### 部分V:未来展望
预计未来异常机制将在嵌入式系统等领域有显著变化。 |
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
41 页请下载阅读 -
文档评分