public enum Platform
{
X86,
X64,
Unknown
}
internal const ushort PROCESSOR_ARCHITECTURE_INTEL = 0;
internal const ushort PROCESSOR_ARCHITECTURE_IA64 = 6;
internal const ushort PROCESSOR_ARCHITECTURE_AMD64 = 9;
internal const ushort PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF;
[StructLayout(LayoutKind.Sequential)]
internal struct SYSTEM_INFO
{
public ushort wProcessorArchitecture;
public ushort wReserved;
public uint dwPageSize;
public IntPtr lpMinimumApplicationAddress;
public IntPtr lpMaximumApplicationAddress;
public UIntPtr dwActiveProcessorMask;
public uint dwNumberOfProcessors;
public uint dwProcessorType;
public uint dwAllocationGranularity;
public ushort wProcessorLevel;
public ushort wProcessorRevision;
};
[DllImport("kernel32.dll")]
internal static extern void GetNativeSystemInfo(ref SYSTEM_INFO lpSystemInfo);
[DllImport("kernel32.dll")]
internal static extern void GetSystemInfo(ref SYSTEM_INFO lpSystemInfo);
public static Platform GetPlatform()
{
SYSTEM_INFO sysInfo = new SYSTEM_INFO();
if(System.Environment.OSVersion.Version.Major > 5 ||
(System.Environment.OSVersion.Version.Major == 5 && System.Environment.OSVersion.Version.Minor >= 1))
{
GetNativeSystemInfo(ref sysInfo);
}
else
{
GetSystemInfo(ref sysInfo);
}
switch(sysInfo.wProcessorArchitecture)
{
case PROCESSOR_ARCHITECTURE_IA64:
case PROCESSOR_ARCHITECTURE_AMD64:
return Platform.X64;
case PROCESSOR_ARCHITECTURE_INTEL:
return Platform.X86;
default:
return Platform.Unknown;
}
}
相关推荐
MUSIC算法翻车?Toeplitz矩阵重构如何解决DOA估计中的相干信源难题
本文深入探讨了MUSIC算法在相干信源DOA估计中失效的根本原因,并详细介绍了基于Toeplitz矩阵重构的协方差矩阵修复技术。该方法通过凸优化恢复协方差矩阵的理想结构,有效解决了信号子空间秩亏损问题,从而显著提升了MUSIC算法在相干和多径场景下的分辨精度与稳健性。
Processor Architecture - 处理器体系架构
原文:Processor Architecture Processor Architecture The x86 Processor x86 Architecture - x86 体系架构 x86 Instruction - x86 指令 Annotated x86 Disassembly - 带注解的 x86 反汇编 The x64 Processor x64 Architecture - x64 体系架构 x64 Instruction - x64 指令 Annotated x64 Disa
uniapp运行钉钉小程序
因项目原因,公司需要在钉钉里面开发小程序。之前用uniapp开发过app,H5,小程序。还真没尝试过钉钉小程序,今天就简单的记录下uniapp运行钉钉小程序中的过程。
深入理解计算机系统——第四章 Processor Architecture
深入理解计算机系统 第三版 第四章 笔记
Chromium实用技巧篇-如何下载指定版本的Chromium(一)
通过本指南,您已成功掌握如何在Windows系统上下载并安装最新版本的Chromium浏览器。我们详细介绍了从进入Chromium官网,到查找最新版本号,再到下载和安装的每一个步骤。通过这些步骤,您不仅能够体验到最新的浏览器功能,还可以参与开源项目的开发,享受高速、稳定、安全的浏览体验。
MYSQL、ORACLE、PostgreSQL数据库对象层次及权限管理对比
本文为出于自己扩展、比较、图形化的思维路径自行总结归纳,可能有些细节不太准确,欢迎指正。MySQL、Oracle、PostgreSQL关系型数据库都有管理员用户、用户、权限管理、表函数索引等数据库对象,schema。但在数据库对象隶属层次上有差异和相同的地方。
win10环境变量作用
系统变量 ComSpec: C:\WINDOWS\system32\cmd.exe command specification 解释:ComSpec是Windows操作系统中的一个环境变量,它表示Windows命令解释器(即命令提示符)的完整路径,通常是C:\WINDOWS\system32\cmd.exe。当用户在命令提示符窗口中输入命令时,Windows会使用ComSpec变量中指定的解释器来解释并执行这些命令。在批处理文件或类似的脚本中,也可以使用%ComSpec%来引用命令解释器,以确保脚本
【制作100个unity游戏之30】使用unity实现一款2d俯视角RPG战斗游戏,主要使用InputSystem+有限状态机+A*寻路实现(完结,附带项目源码)
【制作100个unity游戏之30】使用unity实现一款2d俯视角RPG战斗游戏,主要使用InputSystem+有限状态机+A*寻路实现
Microsoft.VC80.DebugCRT,processorArchitecture=“amd64“,publicKeyToken=“1fc8b3b9a1e18e3b“,type=“win32“
通过以上方法,我们就可以把软件打包发给客户使用了,但是有时候打包程序并不是万能的,总有一些缺少的dll没有被包含进去,我们可以使用Dependency walker软件查找需要的dll一起打包到软件里面就可以了。这里不再多说,打包程序支持添加文件的格式打包dll。可以使用打包程序,把需要的依赖的dll全部打包进去,这样放在别的机台也可以正常运行,小编再升级软件的时候第一次就是这么干的,后续升级就只需要发exe,pdb文件就可以了,pdb主要为了万一软件崩溃,可以追溯调试到源头,没有这个是无法调试的。
[Python从零到壹] 十四.机器学习之分类算法五万字总结全网首发(决策树、KNN、SVM、分类对比实验)
分类(Classification)属于有监督学习(Supervised Learning)中的一类,它是数据挖掘、机器学习和数据科学中一个重要的研究领域。分类模型类似于人类学习的方式,通过对历史数据或训练集的学习得到一个目标函数,再用该目标函数预测新数据集的未知属性。本章主要讲述分类算法基础概念,并结合决策树、KNN、SVM分类算法案例分析各类数据集,从而让读者学会使用Python分类算法分析自己的数据集,研究自己领域的知识,从而创造价值。 19.1 分类 19.1.1 分类模型 与前面讲述的聚类模型类似
SpringBoot + MyBatis-Plus 高效实现数据变更记录:从注解到通用审计方案(附源码)
*** 数据变更审计插件* 拦截增删改操作,自动记录变更日志*/@Component@Resource/*** 拦截SQL执行*/@Override/*** 数据变更审计插件* 拦截增删改操作,自动记录变更日志/*** 拦截SQL执行。
判断操作系统及指定进程是32位还是64位
判断操作系统及指定进程是32位还是64位
Open3D DBSCAN聚类
DBSCAN算法做为一种有名的密度聚类算法,它是通过邻域参数(Distance,MinPts)来刻画样本分布的紧密程度。而在真正开始之前,首先要理解下面这几个概念:更为具体的内容也可参考这篇文章点云DBSCAN聚类算法。...
判断是32位还是64位操作系统
最近有朋友问我如何判断操作系统是32位还是64位的,我当时没反应过来该怎么判断(当然肯定不是直接看电脑属性的那种判断),下面查询了很多资料,发现很多人都是利用这段代码类似的方法来判断的: #include <iostream> #include <windows.h> using namespace std; int main() { ...
廖雪峰Python教程[完整版]
廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白
visio安装包
Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。
如何判断操作系统是64位还是32位
64位Wnidows 里面有个叫Wow64 的模拟器技术,可以使32位的程序在64位Windows 上运行。 当你想在程序里面针对32b位/ 64位系统执行不同代码的时候, 需要判断操作系统是32位还是64位。 使用 Windows API函数GetNativeSystemInfo 可以获得这个信息。 代码示例: SYSTEM_INFO si;GetNativeSystemInfo...
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
不用 sizeof 判断操作系统是 32 还是 64 位
2018上半年折腾了一回,想换个后台开发岗尝试锻炼一下自己,面了三个部门,将有关有意思的题目汇总记录下来,供大家参考。 解法一: 我们知道,C/C++中,32位系统下编译生成的程序,书写代码时,整形数值默认取值范围是-2^31至2^31-1,加上数值后缀L,表示长整型,取值范围也是-2^31至2^31-1,加上LL表示尝尝整型数值,取值范围是-2^63至2^63-1。64位系统下编译生成的64......
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
用程序判断操作系统是16位还是32位(或64位)的?
今天复习了下C++,总结了这两种方法用于判断操作系统的位数,但第一种方法只能用于判断是32位以上还是16位的,不能判断是32位还是64位的,因为地址空间在32位和64位系统下都是一样的。第二种方法可以判断。 第一种方法:用sizeof()判断 #include using namespace std; int main() { char *p = NULL; if(sizeof(p)
[Windows编程] 如何判断操作系统是64位还是32位
64位Wnidows 里面有个叫Wow64 的模拟器技术,可以使32位的程序在64位Windows 上运行。 当你想在程序里面针对32b位/ 64位系统执行不同代码的时候, 需要判断操作系统是32位还是64位。 使用 Windows API函数 GetNativeSystemInfo 可以获得这个信息。 代码示例: SYSTEM_INFO si;GetNativeSystemInf
C#判断操作系统是32位还是64位的方法
C#判断操作系统是32位还是64位的方法 判断系统是否是64位的方法有很多。 对于C#来说,调用WMI是一种简单易行的方式。我们可以用Win32_Processor类里面的AddressWidth属性来表示系统的位宽。AddressWidth的值受CPU和操作系统的双重影响。 具体的值如下面的表格所示: 32bit OS 64bit OS
windows下如何判断操作系统是64位还是32位
64位Wnidows 里面有个叫Wow64 的模拟器技术,可以使32位的程序在64位Windows 上运行。 当你想在程序里面针对32b位/ 64位系统执行不同代码的时候, 需要判断操作系统是32位还是64位。 使用 Windows API函数 GetNativeSystemInfo 可以获得这个信息。 代码示例: SYSTEM_INFO si; GetNativeSystemInfo
【Windows编程】如何判断操作系统是64位还是32位
我为我基础知识掌握的薄弱,感到深深的“折服”。感觉从知识体系的掌握上就有问题!!需要探索性的改进自身的知识架构。加油吧…… 一,不同位数操作系统下类型简介 类型 32位操作系统(字节) 64位操作系统(字节) char 1 1 short 2 2 int 4 4 long 4 8 long lo
如何判断Windows操作系统是64位还是32位
如何判断操作系统是64位还是32位 64位Wnidows 里面有个叫Wow64的模拟器技术,可以使32位的程序在64位Windows上运行。当你想在程序里面针对32b位/ 64位系统执行不同代码的时候, 需要判断操作系统是32位还是64位。 使用 Windows API函数 GetNativeSystemInfo 可以获得这个信息。 代码示例: SYSTEM_INFO si;G...
如何判断操作系统是32位还是64位?
64位机器可以运行32/64位操作系统,而32位机器只能运行32位操作系统,这样就有一个问题,对于一个64位机器,如何判断操作系统究竟是32位还是64位呢? 总结了一下,基本方法如下:1.linux:#file /sbin/init/sbin/init: ELF ;32-bit; LSB executable, Intel 80386......2.hpux:#getconf KERNEL_B
249



被折叠的 条评论
为什么被折叠?



