zoukankan      html  css  js  c++  java
  • 关于不同平台、环境下64位int型的输入输出方式(转)

    C语言 64位int 定义方式:

    Linux: long long         Windows:__int64

    C语言 64位int 输出方式:

    Linux: "%lld"              Windows:"%I64d"

    C++ 64位int 定义方式:

    Linux: long long          Windows:__int64

    C++ 64位int 输出方式:

    Linux: "%lld",  cout      Windows:"%I64d",  cout

    下表是以上2种定义方式、3种输出方式在5种编译环境下的运行情况:

    (其中gcc是C语言编译器,g++是C++编译器)

    (表格转自:https://blog.csdn.net/Thunders01/article/details/38879553)

    变量定义输出方式gcc(mingw32)g++(mingw32)gcc(linux i386)g++(linux i386)MicrosoftVisual C++ 6.0
    long long “%lld” 错误 错误 正确 正确 无法编译
    long long “%I64d” 正确 正确 错误 错误 无法编译
    __int64 “lld” 错误 错误 无法编译 无法编译 错误
    __int64 “%I64d” 正确 正确 无法编译 无法编译 正确
    long long cout 非C++ 正确 非C++ 正确 无法编译
    __int64 cout 非C++ 正确 非C++ 无法编译 无法编译

    可以看出,对于64位int型:

    1. Linux环境下,定义方式只支持 long long,输出方式只支持 "%lld"(C++还支持 cout

    2. Windows环境下,对于VC编译器,定义方式只支持 __int64,输出方式只支持 "%I64d"

    3. Windows环境下,对于mingw编译器,定义方式 long long、__int64都支持,输出方式只支持"%I64d"(C++还支持 cout

    (注:mingw编译器全称是 “Minimalist GNUfor Windows”,是GNU在Windows环境下的扩展,因此编译环境更偏向Windows)

  • 相关阅读:
    c#以文件流的形式输出xml(可以解决内存溢出)-XmlTextWriter
    c# 大数据量比较时-方案
    c# 大数据量比较时-方案
    sql中插入多条记录-微软批处理
    sql中插入多条记录-微软批处理
    c#上传图片
    c#上传图片
    sql 数据库优化
    mysql处理旧数据-使用模板以及临时表,不建议直接使用本表!!
    margin-bottom无效问题以及div里内容动态居中样式!
  • 原文地址:https://www.cnblogs.com/wkxnk/p/13591137.html
Copyright © 2011-2022 走看看