You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++中long int本地显示4字节、在线编译器显示8字节,求原因

关于C++中long int类型大小差异的说明
  • C++标准仅规定long int的大小不小于int,并未强制要求为8字节,具体大小由编译器及目标平台的ABI(应用二进制接口)决定。
  • MinGW64遵循Windows平台的ABI规范,在Windows 64位环境中,long int被定义为4字节,这是Windows平台的历史约定所致。
  • 多数在线编译器基于Linux环境,遵循System V AMD64 ABI,该规范下long int为8字节,因此会出现与MinGW64不同的结果。
  • 若需要跨平台固定大小的8字节整数类型,推荐使用<cstdint>头文件中的int64_t或int_least64_t,这类类型的大小在不同平台下是一致的。

相关截图

  • MinGW64编译器运行结果:
    MinGW64编译器截图
  • 在线编译器运行结果:
    在线编译器截图

内容的提问来源于stack exchange,提问作者Krishna Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 14:03:23