【问题标题】:Determine if running x64 or x86 operating system in MATLAB确定是否在 MATLAB 中运行 x64 或 x86 操作系统
【发布时间】:2011-09-23 04:21:50
【问题描述】:

如何在 MATLAB 中确定操作系统是 x64 还是 x86?

注意:我找到了computer 函数,但有人提到如果 x32 MATLAB 在 x64 操作系统上运行,那么它会返回 x32(而不是 x64),所以这个函数将不起作用。

【问题讨论】:

  • 我本来打算建议 getenv('PROCESSOR_ARCHITECTURE'),但这似乎在 32 位 MATLAB 中返回 'x86'。
  • 为什么需要这个?如果您使用的是 matlab 扩展,则必须针对 matlab 版本(x32 或 x64)进行编译...
  • @FooBah:我需要明确知道这一点,这样我才能根据我正在运行的操作系统(x32/x64)dos(thecorrectfile.bat)

标签: matlab x86 64-bit


【解决方案1】:

根据您的评论,我假设您正在运行 Windows。

查看环境变量 PROCESSOR_ARCHITECTURE 和 PROCESSOR_ARCHITEW6432。他们的存在和价值观的结合会告诉你你在做什么。

x64 Windows 上的 x64 Matlab:
PROCESSOR_ARCHITECTURE=AMD64

x86 Windows 上的 x86 Matlab:
PROCESSOR_ARCHITECTURE=x86

x64 Windows 上的 x86 Matlab:
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=AMD64

然后您可以使用环境变量 PROGRAMFILES、PROGRAMFILES(X86) 和 PROGRAMW6432 来找到正确的“程序文件”路径来启动您的外部应用程序(如果它安装在常规位置)。

谷歌“WoW64”了解有关 Windows x64 和 x86 环境如何交互的更多信息。

【讨论】:

【解决方案2】:

在 Windows 上,您可以尝试解析 dos('systeminfo') 的输出,但速度并不快。在 Linux 上,您可以尝试解析 unix('uname -a') 的输出。

【讨论】:

  • 谢谢,这可能是一个解决方案。我正在运行 x64 Win 7,它在“系统类型”中返回“基于 x64 的 PC”。如果我在 x64 硬件上运行 x32 Win,这会是“基于 x32 的 PC”吗?
  • 在 MATLAB winqueryreg('HKEY_LOCAL_MACHINE', 'HARDWARE\DESCRIPTION\System\CentralProcessor\0', 'Identifier') 中试试这个。我得到“Intel64 Family 6 Model 23 Stepping 10”作为响应,很明显我运行的是 x64 操作系统。可以的,请运行命令并写反馈(您正在运行的操作系统以及您的硬件是否支持 x64 架构)
猜你喜欢
  • 2011-01-08
  • 2012-06-09
  • 1970-01-01
  • 1970-01-01
  • 2010-12-10
  • 2023-03-19
  • 1970-01-01
  • 2013-03-28
  • 1970-01-01
相关资源
最近更新 更多