Symbian OS C++编程规范与内存管理
需积分: 3 138 浏览量
更新于2024-12-19
收藏 380KB PDF 举报
"Symbian程序编码规范(C++)"
Symbian操作系统是早期智能手机平台的代表,它的编程语言主要为C++。这份文档是针对Symbian OS C++开发的编码规范和技巧,由诺基亚论坛发布,旨在提高代码质量和可维护性。
1. **简介**
文档的目标读者是对Symbian OS C++编程感兴趣的开发者,内容涵盖了内存管理、异常处理和资源清理等方面的基础和最佳实践。
2. **内存管理**
- **清除堆栈(CleanupStack)**
清除堆栈是Symbian OS中用于自动管理临时对象的一种机制,确保在异常发生时能够正确释放资源。所有程序都应该检查“资源用尽”错误,并使用适当的异常处理机制。
- **规则1:异常退出函数和捕获模块**
异常退出函数用于在发生错误时清理资源。`new(ELeave)`运算符用于创建对象,当分配失败时抛出异常。`NewL()`和`NewLC()`是常见的构造函数,用于两阶段构造,确保即使在异常情况下也能正确清理。
- **规则2:使用清除堆栈**
清除堆栈是处理异常和资源释放的关键,它能确保在函数返回前正确释放分配的内存。需要理解何时何地使用清除堆栈以及其工作原理。
- **规则3:两阶段构造**
两阶段构造是一种防止资源泄露的策略,先分配内存,然后初始化对象。`NewL()`和`NewLC()`函数就是这种模式的体现。
- **常见错误**
- 错误使用`TRAP`和`TRAPD`可能导致资源未被正确清理。
- 不恰当的`new`运算符使用可能导致内存泄漏或未初始化的对象。
- 后缀`L`的误用可能破坏两阶段构造的完整性。
3. **内存泄漏检测**
Symbian提供了一些工具,如在WINS模拟器中,来帮助检测和定位内存泄漏问题。
4. **检查和严重提示**
A"Severe"消息通常表示程序遇到严重错误,需要立即停止。开发者应避免发出不必要的严重消息,并确保它们传达了明确的错误信息。
5. **总结**
遵循这些编码规范和技巧,开发者可以编写出更健壮、更易于维护的Symbian OS应用程序,减少内存泄漏和其他潜在问题,同时提高程序的稳定性和可靠性。对于Symbian平台的开发人员来说,理解并应用这些规范至关重要。
2009-06-29 上传
2008-01-18 上传
2011-05-06 上传
2021-09-27 上传
2008-01-18 上传
2008-11-29 上传
2021-11-24 上传
2010-03-25 上传
2009-04-13 上传
melody_zyp
- 粉丝: 5
- 资源: 23
最新资源
- Elasticsearch核心改进:实现Translog与索引线程分离
- 分享个人Vim与Git配置文件管理经验
- 文本动画新体验:textillate插件功能介绍
- Python图像处理库Pillow 2.5.2版本发布
- DeepClassifier:简化文本分类任务的深度学习库
- Java领域恩舒技术深度解析
- 渲染jquery-mentions的markdown-it-jquery-mention插件
- CompbuildREDUX:探索Minecraft的现实主义纹理包
- Nest框架的入门教程与部署指南
- Slack黑暗主题脚本教程:简易安装指南
- JavaScript开发进阶:探索develop-it-master项目
- SafeStbImageSharp:提升安全性与代码重构的图像处理库
- Python图像处理库Pillow 2.5.0版本发布
- mytest仓库功能测试与HTML实践
- MATLAB与Python对比分析——cw-09-jareod源代码探究
- KeyGenerator工具:自动化部署节点密钥生成