Symbian OS C++编程技巧:解决内存管理与异常处理
需积分: 4 2 浏览量
更新于2024-12-26
收藏 380KB PDF 举报
《Symbian+OS+C++程序员编码诀窍》是一份由诺基亚论坛发布的指南,专为Symbian OS平台上的C++程序员设计,特别是针对那些在2003年10月24日及以后使用该操作系统进行开发的开发者。这份文档详细探讨了在Symbian OS环境中编程的一些关键技巧和最佳实践。
1. **读者对象和范围**:
这份文档的目标读者是熟悉Symbian OS和C++的开发者,内容覆盖了内存管理、错误处理、构造函数使用等主题,旨在提高代码质量和避免常见问题。
2. **内存管理**:
- **清除堆栈(CleanupStack)**:作者强调了正确处理内存清理的重要性,特别是在资源有限的嵌入式系统中。建议所有程序都检查“资源用尽”错误,并提供了一种Symbian OS特定的解决方案,如使用`CleanupStack`。
- **规则1:异常退出函数和捕获模块**:
- 异常退出函数(例如`ELeave`)用于确保资源的清理,即使在抛出异常时也能执行。
- `new(ELeave)`运算符和`NewL()`、`NewLC()`函数的使用,遵循特定的约定来实现更安全的内存管理。
- `TRAP`和`TRAPD`与捕获模块的配合,有助于在错误发生时执行适当的清理操作。
- **规则2:使用清除堆栈** - 建议在函数结束时使用`CleanupStack`来自动清理内存,确保资源的正确释放。
3. **构造函数和错误处理**:
- **规则3:两阶段构造** - 提倡使用`NewL()`和`NewLC()`来实现对象的初始化和内存分配分两个阶段,以减少内存泄露的风险。
- **公共错误**:
- 避免误用`TRAP`和`TRAPD`,它们可能导致意外的错误处理或内存泄漏。
- 注意`new`运算符的正确使用,以防止内存分配失败时产生未初始化的内存。
- 提醒开发者避免使用后缀`L`错误地表示静态或本地存储,确保对内存类型有清晰理解。
4. **内存泄漏检测**:
- 文档提供了使用WINS模拟器中的工具来检测内存泄漏的方法,这对于调试和性能优化至关重要。
5. **检查和严重提示**:文档强调了定期检查代码和使用严重提示的重要性,以及时发现并修复潜在问题。
《Symbian+OS+C++程序员编码诀窍》为Symbian OS平台下的开发者提供了一套实用的编码指南,帮助他们编写高效、健壮且符合最佳实践的C++代码。
2020-05-17 上传
2007-08-07 上传
2022-09-20 上传
2022-09-20 上传
2022-09-22 上传
2022-07-15 上传
2021-10-18 上传
2022-07-14 上传
ajian815
- 粉丝: 0
- 资源: 3
最新资源
- Evergarden:思想和笔记的公共数字花园
- [论坛社区]okphp BBS v4.0_okphpbbs.rar
- ipetfinals
- ASP 网站站长计数器 v1.0
- DICOM 示例文件:包含大脑 MR 图像的示例 DICOM 文件。-matlab开发
- FM5830_code,c语言源码怎么写,c语言项目
- C-Blog 2.1 正式版_cblog2-mysql_博客论坛网站开发模板(使用说明+源代码+html).zip
- todo-cloudbuild
- SpeakT-crx插件
- 安卓伏羲X v2.0.1双版 免Root装载Xposed模块功能.txt打包整理.zip
- json-conditions:简单的条件逻辑以针对javascript对象进行评估
- 分子查看器:用于绘制简单的 .pdb 文件的轻量级 m 文件。-matlab开发
- 绿色耀眼互联网产品企业网站模板5536_网站开发模板含源代码(css+html+js+图样).zip
- light-sphere.tar.gz_C/C++_源码,c语言读网页源码,c语言项目
- wztlink1013_github_io-master.zip
- kirby-multilist:在Kirby 3中快速管理具有多个字段的列表