Symbian OS C++编程技巧与内存管理

需积分: 2 10 下载量 119 浏览量 更新于2024-12-30 收藏 380KB PDF 举报
"Symbian OS C++程序员编码诀窍.pdf" 本文档主要针对Symbian OS平台上的C++编程提供了一系列编码技巧和最佳实践。Symbian OS是一种面向移动设备的操作系统,尤其在早期智能手机中广泛应用。以下是文档中强调的一些关键知识点: 1. **内存管理**:在Symbian OS中,内存管理对于程序的稳定性和性能至关重要。Symbian OS使用一种特殊的内存管理机制,尤其是在异常处理和资源释放方面。 - **清除堆栈(CleanupStack)**:这是一种确保异常情况下正确释放资源的机制。当函数执行过程中创建了局部对象,这些对象会被添加到清除堆栈上,即使在异常发生时,也能保证它们被正确删除。 - **异常退出函数和捕获模块**:Symbian OS使用异常处理机制来处理错误,异常退出函数和TRAP指令用于捕获和处理异常。`new(ELeave)`运算符是为异常处理设计的,而`NewL()`和`NewLC()`是分配内存并进行构造函数调用的标准方式。 - **两阶段构造**:为了确保在异常情况下释放已分配的资源,Symbian推荐使用两阶段构造。首先分配内存,然后在第二阶段调用构造函数。这样,如果在第二阶段发生错误,内存已经被安全地分配并且可以被清理。 2. **常见错误与陷阱**: - 错误使用`TRAP`和`TRAPD`可能导致资源泄露,因为它们没有自动清理堆栈。 - 不正确的`new`运算符使用可能导致内存泄露或未定义行为。 - 后缀`L`的误用可能表明对象没有正确地在清除堆栈上管理。 3. **内存泄漏检测**:开发过程中,使用WINS模拟器中的工具可以帮助检测和定位内存泄漏问题,确保程序的健壮性。 4. **检查和严重提示**:文档还强调了使用Symbian的检查和严重提示机制来记录和调试程序中的问题。 这份文档提供了Symbian OS C++编程的关键指导,旨在帮助开发者编写更稳定、高效且内存安全的代码。遵循这些规则和最佳实践,可以显著减少软件开发中的问题,并提高程序的可靠性。