opencv 32位申请内存不足突破2G方法

本文介绍了如何在64位Windows系统下,针对使用VS2015开发的32位程序,通过开启"LARGEADDRESSAWARE"标志来突破2GB内存限制。详细步骤包括利用管理员权限运行命令提示符,使用editbin工具修改程序属性,以及检查开启成功与否的方法。此解决方案适用于需要处理大量数据但无法切换到64位平台的旧版程序。
摘要由CSDN通过智能技术生成

首先给出我的配置吧,win10 64位 + vs2015 + opencv2.4.9,这个问题的产生只与系统有关,

1.X86程序与X64程序的区别
X86程序的内存使用限制
在Windows32位操作系统中,每个进程所能使用的最大空间(包含操作系统使用的内核模式地址空间)为4G,在通常情况下,操作系统会分配2GB内存给进程使用,另外2G内存,另外2G内存为操作系统保留。
何谓大内存
所谓“大内存”,就是指允许X86进程允许使用超过2G的内存空间。这里的内存空间不光是进程动态申请的,还包括操作系统自动为进程分配的。一般情况下,进程当前使用的内存空间大小,可以通过操作系统计数器来查看。
从目前的个人的测试情况来看,开启大内存后的X86进程最多能用3.7G左右的内存空间,当然该数值是个估计值,和硬件、操作系统及程序本身都有关系。
大内存的使用条件
1.操作系统应该是64位Windows操作系统;
2.开启大内存的程序应为Visual Studio开发的;
3.程序应为X86程序,X64程序本身就没有2G内存的限制。
2.什么时候需要开启大内存
大内存的适用情况
在软件开发中,随着处理路数和数据量的加大,内存消耗的越来越多。为了解决这种问题,最好的方法是将编译平台从X86切换到X64。然后现实中,并不是所有的X86程序都能够直接切换到X64位的,以下就是几种常见的情况:
1.目前的维护的较早的X86程序,公司没有过多资源来将整个软件切换到X64平台;并且原有的X86版本是正常运行的,现在仅仅是数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值