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位应用程序在处理大量数据时可能更高效,但也可能因为更大的指针和可能的内存对齐要求而使用更多的内存。

以上。

相关推荐
HalvmånEver5 分钟前
Linux:基础IO(终)
linux·运维·c++·学习·缓冲区·libc
昵称只无法修改8 分钟前
计算机底层原理
学习
CreasyChan9 分钟前
C# 异步编程详解
开发语言·windows·c#
charlie11451419116 分钟前
在上位机上熟悉FreeRTOS API
笔记·学习·嵌入式·c·freertos·工程
iCxhust25 分钟前
8088单板机C语言汇编混合编程实验方法与步骤
c语言·汇编·单片机·嵌入式硬件·微机原理
EveryPossible27 分钟前
状态丢失问题
学习
正运动技术30 分钟前
全国产强实时运动控制内核(十二):实时在线变速实现多段速的软着陆
嵌入式硬件·c#·运动控制·运动控制器·运动控制卡·正运动·pc上位机
m5655bj41 分钟前
使用 C# 设置 Word 段落对齐样式
开发语言·c#·word
天天进步20151 小时前
依赖注入的艺术:Composer 与模块化设计—— QuantConnect/Lean 源码分析系列一
c#
深蓝海拓1 小时前
PySide6从0开始学习的笔记(五) 信号与槽
笔记·qt·学习·pyqt