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

以上。

相关推荐
雾岛LYC听风1 小时前
3. 轴指令(omron 机器自动化控制器)——>MC_HomeWithParameter&MC_Move
运维·c#·自动化
一勺菠萝丶2 小时前
深入理解Elasticsearch的`_source`字段与索引优化
大数据·elasticsearch·jenkins
脚步的影子2 小时前
Redis 入门 - C#|.NET Core客户端库六种选择
redis·c#·.netcore
Achanss2 小时前
C#学习笔记 .NET Core使用注意事项
笔记·学习·c#
爱分享的益达2 小时前
往年互联网大厂腾讯华为百度等校招面试笔试题合集
学习·程序人生·面试·生活
B.-3 小时前
Remix 学习 - 路由模块(Route Module)
前端·javascript·学习·react·web
limengshi1383923 小时前
通信工程学习:什么是GFP通用成帧规范
服务器·网络·网络协议·学习·信息与通信
月夕花晨3743 小时前
C++学习笔记(14)
c++·笔记·学习
lagransun3 小时前
Linux内核学习之 -- 系统调用open()和write()的实现笔记
linux·笔记·学习
Invulnerabl_DL4 小时前
《基于深度半监督学习的目标检测综述》泛读
笔记·深度学习·学习·目标检测·计算机视觉