symbian notes

symbian c++ note
1. TTextX 相当于 char
2. T类没有析构函数,可以再栈上也可以在堆上创建
3. C类必须建在堆上
4. User::Leave() 或 User::LeaveIfError()调用与c++的throw 很相似, TRAP宏从作用上看就是try和catch的组合
5. 构造函数和析构函数不能有异常发生
6.trap跟trapd的区别在于,trapd会声明一个用来保存异常错误码的变量,而trap必须由自己主动去声明
7. 如果对象在trap宏中被压入清除栈,并且没有发生异常退出,那么他们在推出trap宏之前必须被弹出,否则就会发生系统错误。这是因为清除栈保存了销毁对象的嵌套层次,每一层限制在一个trap中,并且当里面的代码返回时清除栈必须为空。
8.CleanupStack::PushL()对于c类会调用析构函数,而对于非c类则只是简单的释放指针指向的内存区域,如果要对非c类也调用类似于析构函数的函数,比如说release,close函数,则要使用cleanupstack的其他push函数。
10. TPtrC 相当于 const char* TPtr相当于char*
11._L会创建TPtrC类型的临时变量,所以在内联函数中会造成一定的开销,如果只是希望把字符常量当成null为终结符的字符串使用,_S是很有用的,并且这样做不回造成任何开销。


symbian os
内存分配:
1、Chunk(块)
chunk 是一组线性相邻的内存地址在RAM 中的映射。进程创建以后,它的地址空间包括1到3个chunk:
(1)stack/heap chunk:这里包括了进程的主线程所要使用的stack 和 heap。所以这个chunk 通常是进程所必须的。
(2)code chunk:这个chunk 只有当进程被加载到RAM时才出现。
(3)data chunk:只有当进程拥有静态数据的时候才会有这个chunk。
当然,程序可以还创建额外的chunk。 一个全局的chunk可以被其他进程访问,这样就实现了大量内存的共享。RChunk 类提供了对chunk的支持。TFindChunk 类可以用来查找其他进程创建的全局chunk。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值