zoukankan      html  css  js  c++  java
  • C#中判断系统的架构(32位,还是64位)

    一种很简单的方法就是根据IntPtr类型的Size属性来判断,

    1 //IntPtr.Size在64位为8,在32位为4 
    2 public static Boolean Is64Bit()
    3 {
    4        if (IntPtr.Size == 4)
    5            return false;
    6        else
    7              return true;
    8 }
    View Code

    通过查看IntPtr的源码可以看到:

        //....
        public struct IntPtr : ISerializable
        {
            //...
            // 摘要: 
            //     获得此实例的大小。
            //
            // 返回结果: 
            //     此平台上的指针或句柄的大小,按字节计。此属性的值在 32 位平台上为 4,在 64 位平台上为 8。
            public static int Size { get; }
           //...
    }
    View Code

    确实如此,在64位下IntPtr.Size=8,在32位下为4。

          但请注意:

                在部分Visual Studio中,如VS 2013在64的操作系统中会优先使用32位的架构,所以判断系统架构出错,

               此时只需要在项目的 Properties(属性) --> Bulid(生成) --> Prefer 32-bit(首选32位),将复选框取消即可

  • 相关阅读:
    FHS Filesystem Hierarchy Standard(文件系统层次化标准)
    Linux文件类型
    cd、rm、ls命令
    基础内容
    Linux命令格式及使用方法
    Linux一些概念
    SHELL脚本的成分
    SHELL脚本
    Loadrunner关联
    赋值语句
  • 原文地址:https://www.cnblogs.com/tommy-huang/p/4993051.html
Copyright © 2011-2022 走看看