Symbian OS C++编程优化与陷阱指南

需积分: 3 1 下载量 17 浏览量 更新于2025-01-06 收藏 380KB PDF 举报
本文档是针对Symbian OS 6.x/7.0s平台上使用C++进行应用程序开发的程序员提供的一份指南。它强调了几个关键的编码技巧和注意事项,旨在帮助开发者更有效地编写高效且健壮的代码。 首先,文档指出目标读者是所有在Symbian OS环境中从事C++编程的开发者。主要内容围绕内存管理展开,因为这是移动设备编程中的重要环节。 1. 内存管理篇: - **清除堆栈(CleanupStack)**:文档建议所有程序都要检查“资源用尽”错误,并介绍了传统的错误检测方法。然而,这种方法存在问题,如无法确保资源的释放。Symbian OS 提供了解决方案,即使用`CleanupStack`,它能确保在函数结束时自动清理堆栈上的资源,避免内存泄漏。 - **规则1:异常退出函数与捕获模块** - 强调了异常退出函数(例如`ELeave`运算符)的重要性,以及`NewL()`和`NewLC()`函数的常规使用,以及如何通过`TRAP`和`TRAPD`配合捕获模块来处理错误。 - **规则2:使用清除堆栈** - 为了防止内存泄漏,提倡在每个可能抛出异常的地方使用`CleanupStack`,确保资源在异常发生后能得到正确释放。 - **规则3:两阶段构造** - 描述了如何使用`NewL()`和`NewLC()`进行两阶段构造,确保对象的初始化在适当的时间完成。 - **公共错误**:文档列举了一些常见的错误,如误用`TRAP`和`TRAPD`,错误地使用`new`运算符,以及对后缀`L`的不当使用,这些都是可能导致程序崩溃或性能问题的常见陷阱。 - **内存泄漏检测** - 提到可以利用WINS模拟器中的工具来检测和分析内存泄漏问题,这对于识别潜在的内存问题至关重要。 此外,文档还包含关于检查和严重警告(如A"MemoryWarning")的章节,这表明开发者需要密切关注程序的内存使用情况,以维持系统的稳定性和响应性。 这份文档为Symbian OS C++开发者提供了一套实用的编码规范和最佳实践,帮助他们在复杂且资源受限的平台上写出更加健壮和高效的代码。