首页 > 系统相关 >c# 32位程序突破2G内存限制

c# 32位程序突破2G内存限制

时间:2023-12-21 16:12:08浏览次数:45  
标签:exe c# 32 程序 2G Studio 内存

起因
在开发过程中,由于某些COM组件只能在32位程序下运行,程序不得不在X86平台下生成。而X86的32位程序默认内存大小被限制在2G。由于程序中可能存在大数量处理,期间对象若没有及时释放或则回收,内存占用达到了1.2G左右,就会引发异常“内存溢出”。
环境:Visual Studio 2022

问题复现

 


解决方案
1、在VS中右键【启动项目】的【属性】,在【生成事件】中申请大内存

 

2、使用editbin.exe申请大内存(注意editbin这个exe需要vs安装c++相关组件)。安装好后一般在如下目录中:C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\bin\Hostx86\x86
在命令行中输入如下命令:

CALL "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"
editbin /largeaddressaware "$(TargetPath)"

 


3、再次运行,可见已成功突破2G内存限制

 


查看exe是否支持大内存
在命令窗口使用dumpbin查看。
命令:dumpbin /headers xxx.exe
运行命令后可见,蓝色框内,程序已经突破2G内存限制。

 


未突破2G内存限制程序显示:

 

 

标签:exe,c#,32,程序,2G,Studio,内存
From: https://www.cnblogs.com/webenh/p/17919247.html

相关文章

  • 远程视频监控技术EasyCVR可视化监控管理平台在地质灾害场景中的应用
    随着科技的不断发展,视频监控技术已经成为了地质灾害监测与预警的重要手段之一。在地质灾害场景中,视频监控技术可以实时监测灾害的发展过程,及时发现险情,为抢险救援提供准确的信息,保障人民生命财产安全。一、视频监控技术的优势1)实时监测:视频监控技术可以实时监测地质灾害的发展过......
  • 无刷车载吸尘器pcba方案介绍
     随着经济的发展,生活质量的提高,轿车的长期使用会带入很多灰尘,以及很多泥土,尤其是脚垫、座椅和很小的缝隙,这些犄角旮旯里面特别容易藏灰。作为一款车载无刷吸尘器,拥有极其强大的功能,凭借着体积小、使用灵活、重量轻以及附带刷头、吸头多,几乎可以满足车内的清洁卫生需求的优势,深受......
  • Oracle中给表赋予权限
    在Oracle数据库中,为表赋予权限的作用是允许或限制其他用户对该表进行特定操作的访问和修改。通过授权表权限,可以确保数据库的安全性和数据的保护。以下是一些常见的表权限以及它们的作用:SELECT:允许用户查询表中的数据。INSERT:允许用户向表中插入新的数据。UPDATE:允许用户修改表......
  • Aloudata 两项 Data Fabric 最佳实践获评 2023 信通院大数据“星河”案例标杆案例
    12 月 20 日,由中国信息通信研究院和中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)组织的第七届大数据“星河(Galaxy)”案例征集结果正式发布。Aloudata (大应科技)脱颖而出,联合标杆客户招商银行共同申报两项 Data Fabric 最佳实践成果双双获评“标杆案例”。其中《招......
  • Excel动态图表有多少种类型,你知道哪些?
    折线图:折线图是最常见的动态图表类型之一,它可以清晰地展现数据随时间变化的趋势。在Excel中,您可以轻松创建动态折线图,使数据的变化更加生动。柱状图:动态柱状图可以清晰地比较不同类别的数据,并随着数据的变化而自动更新。这种图表类型在展示多个数据项之间的对比时非常有用。饼图:......
  • Android安卓打包app应用程序编译shrinkResources true报错解决方案
    Hello各位同学们好,我是咕噜铁蛋!在Android开发中,当我们需要打包应用程序时,经常会遇到一些问题。其中一个常见的问题是在使用shrinkResources设置为true时出现的编译错误。这个选项是在AndroidGradle插件的build.gradle文件中设置的,用于减少最终APK文件的大小。然而,如果设置不正确,可......
  • ICEE-Interface-SATA的数据与电源接口
    **SATA数据接口(7pins)SATA电源接口(15pins4Sections:+12V,+5V,+3.3V,GND)**Sata实物:......
  • C++ Qt开发:StringListModel字符串列表映射组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QStringListModel字符串映射组件的常用方法及灵活运用。QStringListModel是Qt中用于处理字符......
  • AtCoder Beginner Contest 333
    title:categories:算法题解description:tags:-atcoder-DFS-思维-贪心-差分-概率DP-连分数cover:/img/chino/vec/chino56.jpgkatex:truedate:2023-12-2114:47:38A-ThreeThrees(abc333A)题目大意给定一个\(0-9\)的数\(n\),输出这......
  • Json.NET Converting between JSON and XML
      Json.NETsupportsconvertingJSONtoXMLandviceversausingthe XmlNodeConverter.Elements,attributes,text,comments,characterdata,processinginstructions,namespaces,andtheXMLdeclarationareallpreservedwhenconvertingbetweenthetwo.......