在 Java 中获得支持 CPU Features/Instructions
Getting supported CPU Features/Instructions in Java
我有一个 Java 应用程序,它是另一个应用程序的包装器(需要支持 >=SSE4_1)。
因此,我希望能够在我的 Java 应用程序中检测到可用的 CPU 功能(指令集)。我尚未在 Java 中找到有关如何执行此操作的解决方案,一种解决方法是使用 googles "cpu_features" C 库并创建一个以 0 或 1 退出的简单辅助工具。但这也需要我为所有平台编译 C 应用程序,这并不是一个优雅的解决方案。在 linux 上你可以 cat /proc/cpuinfo
这样做,但在 Windows.
上不行
然后 CPU 和 实际 支持的可用功能也有所不同通过 OS(这是您需要的结果)。
有人可以在这里指导我吗?提前致谢!
没有跨平台的方法可以在纯 Java 中执行此操作。 (即使忽略 x86 标志在非 Intel / AMD 平台上也没有意义!)
您已经找到的 cpu_features
库是您可能获得的最好的库。正如您所指出的,这将需要为每个平台提供一个单独的应用程序可执行文件,或者为每个平台构建一个本地库/DLL。
我有一个 Java 应用程序,它是另一个应用程序的包装器(需要支持 >=SSE4_1)。
因此,我希望能够在我的 Java 应用程序中检测到可用的 CPU 功能(指令集)。我尚未在 Java 中找到有关如何执行此操作的解决方案,一种解决方法是使用 googles "cpu_features" C 库并创建一个以 0 或 1 退出的简单辅助工具。但这也需要我为所有平台编译 C 应用程序,这并不是一个优雅的解决方案。在 linux 上你可以 cat /proc/cpuinfo
这样做,但在 Windows.
然后 CPU 和 实际 支持的可用功能也有所不同通过 OS(这是您需要的结果)。
有人可以在这里指导我吗?提前致谢!
没有跨平台的方法可以在纯 Java 中执行此操作。 (即使忽略 x86 标志在非 Intel / AMD 平台上也没有意义!)
您已经找到的 cpu_features
库是您可能获得的最好的库。正如您所指出的,这将需要为每个平台提供一个单独的应用程序可执行文件,或者为每个平台构建一个本地库/DLL。