symbian中如何指定最大和最小堆和栈内存
来源:互联网 发布:云泥沙 知乎 编辑:程序博客网 时间:2024/06/08 10:04
在一台手机(或SDK的模拟器)上会有一定的物理内存大小,而你的应用程序将获取一部分做为堆内存使用。
当你程序启动后产生进程,会有一个预先分配的堆给其使用。S60第三版设备上缺省大小是4KB,早期的S60平台上是1KB。
根据需要,应用程序可以自由分配更多的堆内存,程序能使用的堆大小可在1M范围内动态增加,这是操作系统所规定最高极限了,呵呵。
如果试图分配的内存超过所能最大限制,将引发KErrNoMemory异常。
大部分Symbian C++程序在这样的堆内存安排下可以正常工作,但有时间我们需要更大的堆内存来工作。我们可以通过MMP文件中使用EPOCHEAPSIZE命令来指定最大和最小堆内存。
例如
TARGET MemoryTest.exe
TARGETTYPE exe
UID 0×00000000 KMemoryTestUID3
SECUREID KMemoryTestUID3
VENDORID 0×00000000
CAPABILITY NONE
EPOCHEAPSIZE 0×5000 0×400000
EPOCSTACKSIZE 0×5000
….
在上述代码中,应用程序描述了它所需要的最大和最小堆内存,分别是0×5000字节(20KB)和0×400000字节(4MB),现在该程序可以安全来分配一块3MB的堆空间。
怎么增加应用程序默认堆大小呢
The default heap size of an application is 1MB, that means on target if you application tried to allocate more than 1MB memory, the allocation will fail. Probably new (ELeave) will leave.
What if you really want your application to allcoate more than 1MB memory? For example, you are developing an image processing application which needs to load big pictures.
There’s a way to use a user define heap instead of the default heap, you can do this like:
GLDEF_C TInt E32Main()
{
RHeap *heap = UserHeap::ChunkHeap( NULL, 1024 * 4, 1024 * 1024 * 2 ); // 2MB
if( heap )
{
User::SwitchHeap( heap );
}
TInt ret = EikStart::RunApplication( NewApplication );
if ( heap )
{
heap->Close();
}
return ret;
}
You switch the heap to your own one, which allow you to allocate 2MB in this case.
- symbian中如何指定最大和最小堆和栈内存
- 如何指定最大和最小堆内存
- 如何指定最大和最小堆内存
- 最大堆和最小堆
- 最大堆和最小堆
- 最大堆和最小堆
- 最大堆和最小堆
- C++中使用vector建立最大堆和最小堆
- 最小堆和最大堆 heap (zz)
- 最大堆和最小堆找中位数
- 最大堆/最小堆、siftup和siftdown
- jvm最大堆内存和最小堆内存保持什么样的关系 系统性能最好
- 内存中堆和栈
- 内存中堆和栈
- Symbian如何扩展栈和堆的大小
- 使用最大堆和最小堆来求中位数
- Java中堆内存和栈内存
- C中堆内存和栈内存
- UNICODE编程资料
- Eclipse+PHPEclipse+ Subversion+ TortoiseSVN
- 让Java Swing显示中文更美观
- Java Swing的新进展 -- JDK1.6 Swing GTK Look&Feel
- 几个值得关注的PHP MVC Framework
- symbian中如何指定最大和最小堆和栈内存
- PHP的复活节彩蛋
- (转)CreateProcess API函数的妙用
- PHP和XSS跨站攻击
- include()和require()的区别
- 简体良葛格学习笔记
- SQL Server 2000 函数使用---CAST 和 CONVERT
- css固定编码的一种方法
- 網頁聊天室