0

私はobjective-cを初めて使用します。学術的な理由から、CPU速度とHDDrpmを読み取る必要があります。

Objective-CまたはPythonでいくつかのシステム設定にアクセスする最も簡単な方法は何ですか

このプロジェクトでは、objective-cとpythonのどちらかを選択できます。

4

3 に答える 3

2

ハードドライブのCPU速度またはRPMを検出するには、PythonでC++モジュールを使用する必要があると思います。合計CPU使用率を計算すると、ここで役立ちます

Obj-Cについては何も知らないので、その言語で可能かどうかはわかりません。

于 2010-10-10T13:20:29.267 に答える
1

これにより、Pythonを使用してレジストリを読み取ることにより、Windows2000以降で報告された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

他のオペレーティングシステムでそれを行う方法も、HDDrpmを取得する方法もわかりません。

于 2010-10-10T13:59:04.913 に答える
1

CPU速度のチェックは、実際にはObjective Cのことではなく、OSのことです。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: /

使用するより良い抽象化がある可能性があります、私はそれを知りません。

于 2010-10-10T20:45:13.960 に答える