我是 Objective-c 的新手,出于学术原因,我需要读取 CPU 速度和 HDD rpm
在objective-c或python中访问某些系统设置的最简单方法是什么
对于这个项目,我可以在 Objective-c 和 python 之间进行选择。
我是 Objective-c 的新手,出于学术原因,我需要读取 CPU 速度和 HDD rpm
在objective-c或python中访问某些系统设置的最简单方法是什么
对于这个项目,我可以在 Objective-c 和 python 之间进行选择。
我认为您必须使用带有 Python 的 C++ 模块来检测 CPU 速度或硬盘驱动器的 RPM。计算总 CPU 使用率可以帮助您
我对 Obj-C 一无所知,所以无法告诉您是否可以使用该语言!
检查 CPU 速度并不是真正的 Objective C 的事情,它是操作系统的事情。在 OS X(我假设是 iOS)上,您想查看 sysctlbyname(3) 和 hw.cpufrequency 属性,例如:
int hz;
size_t hz_size = sizeof(hz);
int rc = sysctlbyname("hw.cpufrequency", &hz, &hz_size, NULL, 0);
if (0 == rc) {
fprintf(stderr, "Clockspeed is %d hz\n", hz);
}
我不知道获取磁盘驱动器 RPM 的好方法,但我知道一种不好的方法。解析 system_profiler 的输出,信息就在那里(作为“旋转速率”):
Hitachi HTS543232L9SA02: Capacity: 320.07 GB (320,072,933,376 bytes) Model: Hitachi HTS543232L9SA02 Revision: FB4AC50F Serial Number: (omitted) Native Command Queuing: Yes Queue Depth: 32 Removable Media: No Detachable Drive: No BSD Name: disk0 Rotational Rate: 5400 Medium Type: Rotational Partition Map Type: GPT (GUID Partition Table) S.M.A.R.T. status: Verified Volumes: Macintosh HD: Capacity: 319.73 GB (319,728,959,488 bytes) Available: 12.4 GB (12,397,940,736 bytes) Writable: Yes File System: Journaled HFS+ BSD Name: disk0s2 Mount Point: /
可能有更好的抽象可以使用,我只是不知道。
这可以通过使用 python 读取注册表来获得报告的 Windows 2000 及更高版本的 CPU 速度:
import _winreg
key = _winreg.OpenKey(
_winreg.HKEY_LOCAL_MACHINE,
r"HARDWARE\DESCRIPTION\System\CentralProcessor\0")
value, type = _winreg.QueryValueEx(key, "~MHz")
print 'CPU speed is:', value
我不知道如何为其他操作系统执行此操作,也不知道如何获取 HDD rpm。