C#编译成32和64位的区别

C#编译成32和64位的区别

背景

C#32位客户端项目在把代码提交到客户端之后,jinkens直接崩掉了。原因是内存占用100%运维同学建议改成64位,理由是电脑内存大,客观条件IT不给扩。那么在同一台电脑上,32位和64位在编译过程中有什么区别。

实际区别

32位和64位在编译过程中的主要区别是cpu调用的指令集不同,数据类型所占的内存不同,64系统兼容32位程序等等。

这里我们主要关心数据类型

主要有区别的数据类型

结论

所以64位编译后的执行文件会更大,但执行起来也更快。因为64位寻址更快,占用内存也更大。

  • 运行时内存使用

    • 32位应用程序:通常有较小的内存页大小,这可能导致在处理大量数据时内存使用效率较低。32位应用程序在64位操作系统上通常受限于2GB的地址空间(尽管可以通过特殊配置扩展到3GB或更多)。
    • 64位应用程序:可以访问更大的地址空间,并且通常使用更大的内存页大小,这可以提高内存访问的效率。64位应用程序在处理大量数据时可能更高效,但也可能因为更大的指针和可能的内存对齐要求而使用更多的内存。

以上。

相关推荐
MartinYeung58 小时前
[论文学习]自主性如何重塑个性化对LLM智能体隐私关切与信任的影响
人工智能·学习
FellAveal9 小时前
【Go语言入门学习笔记】Part18.工作池与WaitGroup(也即协程池)
笔记·学习·golang
菜鸟‍9 小时前
【论文学习】MICCAI 2024 || SGSeg:通过自引导机制实现胸部X光片语言引导分割的无文本推理
人工智能·深度学习·学习
lazy H9 小时前
Git clone 怎么用?克隆项目及常见问题完整教程
大数据·git·后端·学习·搜索引擎·github
菜鸟‍9 小时前
【论文学习】arxiv 2024 || RoSIS:基于鲁棒框架重新审视文本提示式手术器械分割
人工智能·学习·计算机视觉
颜x小10 小时前
[C#] C++与c#语法对比
开发语言·c++·c#
weixin_4236521310 小时前
C#使用JObject
开发语言·c#
笨鸟先飞的橘猫11 小时前
只会脚本语言的游戏后端自我提升之路——c++学习(开篇)
学习·游戏
Z59981784111 小时前
c#软件开发学习笔记--Modbus-RTU通讯
笔记·学习·c#
绿浪198412 小时前
async/await 深入学习
学习