pdf文档 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 页请下载阅读 -
文档评分
请文明评论,理性发言.