36.11 系统信息

 
computer ()
comp = computer ()
[comp, maxsize] = computer ()
[comp, maxsize, endian] = computer ()
arch = computer ("arch")

打印或返回一个形式为 cpu-vendor-os 的字符串,用于标识 Octave 正在运行的计算机类型。

如果使用输出参数调用,则返回值而非打印。例如:

computer ()
   -| x86_64-pc-linux-gnu

mycomp = computer ()
   ⇒    mycomp = x86_64-pc-linux-gnu

如果请求两个输出参数,还会返回数组的最大元素数。这将取决于 Octave 是使用 32 位还是 64 位索引向量编译的。

如果请求三个输出参数,还会将当前系统的字节顺序作为字符返回("B" 表示大端序,"L" 表示小端序)。

如果指定了参数 "arch",则返回一个字符串,指示运行 Octave 的计算机的体系结构。

如果使用 --traditional 选项调用 Octave,结果可能会有所不同。

另请参阅: isunixismacispc

 
[uts, err, msg] = uname ()

返回结构体中的系统信息。

例如:

uname ()
   ⇒    {
         sysname = x86_64
         nodename = segfault
         release = 2.6.15-1-amd64-k8-smp
         version = Linux
         machine = #2 SMP Thu Feb 23 04:57:49 UTC 2006
      }

如果成功,err 为 0 且 msg 为空字符串。否则,err 为非零值且 msg 包含系统相关的错误消息。

 
n = nproc ()
n = nproc (query)

返回当前可用(逻辑)处理器的数量。

这将返回逻辑处理器的数量。对于具有超线程的处理器,该数量大于物理核心的数量。

如果使用可选参数 query 调用,则按如下方式修改处理器的计数方式:

all

处理器总数。

current

当前进程可用的处理器。

overridable

current 相同,但可通过 OMP_NUM_THREADS 环境变量覆盖。

 
tf = ispc ()

如果 Octave 在 Windows 系统上运行,则返回 true,否则返回 false。

另请参阅: isunixismac

 
tf = isunix ()

如果 Octave 在类 Unix 系统上运行,则返回 true,否则返回 false。

另请参阅: ismacispc

 
tf = ismac ()

如果 Octave 在 Mac OS X 系统上运行,则返回 true,否则返回 false。

另请参阅: isunixispc

 
tf = isieee ()

如果您的计算机声称符合 IEEE 754 浮点计算标准,则返回 true。

不执行实际测试。

 
tf = isdeployed ()

如果 Octave 程序代码已部署(使用 mcc 编译为独立可执行文件),则返回 true。

另请参阅: isstudent

 
tf = isstudent ()

如果 Octave 程序代码已部署(使用 mcc 编译为独立可执行文件),则返回 true。

 
val = octave-config (property)

返回与 Octave 相关的安装路径。

octave-config 是一个二进制可执行文件。它提供了 Octave 编译时使用的配置值,这些值可能不同于运行时的环境。生成的路径相对于 Octave 二进制文件的位置计算。有关支持的具体属性列表,请参阅文档。

 
res = getrusage ()

返回一个包含当前 Octave 进程运行时统计数据的结构体。该结构体的字段为:

idrss

非共享数据段大小。

inblock

块输入操作次数。

isrss

非共享栈段大小。

ixrss

共享内存大小。

majflt

主要页面错误次数。

maxrss

最大驻留集大小。

minflt

次要页面错误次数。

msgrcv

接收的消息数。

msgsnd

发送的消息数。

nivcsw

非自愿上下文切换次数。

nsignals

接收的信号数。

nswap

交换次数。

nvcsw

自愿上下文切换次数。

oublock

块输出操作次数。

stime

包含系统 CPU 使用时间的结构体。该结构体包含 sec(秒)和 usec(微秒)元素。

utime

包含用户 CPU 使用时间的结构体。该结构体包含 sec(秒)和 usec(微秒)元素。

 
value = winqueryreg (rootkey, subkey, valuename)
value = winqueryreg (rootkey, subkey)
names = winqueryreg ("name", rootkey, subkey)

从 Windows 注册表中查询名称或值。

在 Windows 上,从根键 rootkey 返回注册表子键 subkey 的值。您可以使用可选参数 valuename 指定要查询的注册表值的名称。否则,如果仅使用两个参数调用,或者 valuename 为空,则返回 subkey 的默认值。如果注册表值的类型为 "REG_DWORD",则 value 的类型为 int32。如果值的类型为 "REG_SZ""REG_EXPAND_SZ",则返回一个字符串。

如果第一个参数是 "name",则返回一个包含该键下值名称的字符串元胞数组。

变量 rootkey 必须是一个包含有效根键标识符的字符串:

HKCR
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKCU
HKEY_CURRENT_USER
HKLM
HKEY_LOCAL_MACHINE
HKU
HKEY_USERS
HKEY_PERFORMANCE_DATA

示例:

获取键 'HKCU\Environment' 下的值名称列表:

valuenames = winqueryreg ("name", "HKEY_CURRENT_USER", ...
                          "Environment");

对于每个 valuenames,显示其值:

for k = 1:numel (valuenames)
  val = winqueryreg ("HKEY_CURRENT_USER", "Environment", ...
                     valuenames{k});
  str = sprintf ("%s = %s", valuenames{k}, num2str (val));
  disp (str);
endfor

在非 Windows 平台上,此函数将失败并返回错误。


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4