登录
首页 >  Golang >  Go问答

检测操作系统架构:x86或x64

来源:stackoverflow

时间:2024-03-13 09:12:24 464浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《检测操作系统架构:x86或x64》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

我开发了引导软件来启动我的游戏。我用 go 做了这个。跨平台对我来说尤其重要。另外,我不想将下载链接分为 x86 / x64 两个。我想在一个输出中处理所有事情。这就是为什么我必须编译为 x86。当我这样做时,我无法正确检测操作系统是 x86 还是 x64。

在编译为 x86 的软件中,如何正确检测操作系统 x86 或 x64(在 go 中)。

当编译为 x86 时,此代码不正确。

const is64Bit = uint64(^uintptr(0)) == ^uint64(0)

解决方案


在 Windows you can call IsWow64Process 上确定您是否是在 64 位操作系统上运行的 32 位进程。请注意,如果您是在 64 位操作系统上运行的 64 位进程,它会返回 false,但如果您正在运行 64 位进程,那么您就知道操作系统是 64 位,否则它将无法运行。 p>

另请注意,32 位 Windows 已被视为已过时。 Microsoft is already phasing out support for 32-bit Windows - they no longer want it to be installed on new computers.

在 Linux 上,您可以拨打 uname 并查看 machine 字段。 Here's a list of possible values。请注意,其中大多数与您的程序不兼容,只有 i386i686x86_64

以上就是《检测操作系统架构:x86或x64》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>