3915|11

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WCE malloc 内存大小的问题 [复制链接]

今天我用EVC试图用malloc分配28M的内存,结果发现失败,失败的原始是:内存不足。我查看了相关CE的内存管理资料,发现WCE的进程地址空间有32M的限制,那么如何才能在Window CE中分配大于32M的内存呢?请执教!~

最新回复

分数少了点,答对的平分吧,^_^  详情 回复 发表于 2008-11-28 09:33
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这么大?没玩过,不好说!
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
可以使用VirtualAlloc + VirtualCopy
或者使用内存映射文件
但也不一定能成功,要看实际是否有这么大的连续内存可
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
如果物理内存够的话,用内存映射文件是可以的.
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 shiyang_x 的回复:
如果物理内存够的话,用内存映射文件是可以的.


正点
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

6
 
32M限制是对于每一个进程來说的,所有进程还有一个共享内存区域
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

7
 
试试这个函数HalAllocateCommonBuffer
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
WCE系统会把内存分为存储内存和程序内存,我是用尽了malloc、VirtualAllco、LocolAlloc、HeapAlloc等方法,最多也是用VirtualAllco分了31M,要再高没责了……,我试试内存映射
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(初级)

9
 
内存映射
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

10
 
没错,我试过了,内存映射可以。

LPBYTE         pBuffer = NULL;
DWORD         dwTotalSize = 60*1024*1024;
HANDLE         hFileMap = NULL;

hFileMap = CreateFileMapping ((HANDLE)-1, NULL, PAGE_READWRITE, 0, dwTotalSize, 0);
if (hFileMap)
{
        pBuffer = (LPBYTE)MapViewOfFile (hFileMap, FILE_MAP_WRITE, 0, 0, 0);
        if (pBuffer)
        {       
                //
                // Use the data in the file.
                //

                // Start cleanup by unmapping view.
                UnmapViewOfFile (pBuffer);
                pBuffer = NULL;
        }
        CloseHandle (hFileMap);
        hFileMap = NULL;
}

               
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

11
 
结贴!………………
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

12
 
分数少了点,答对的平分吧,^_^
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表