检查 GNU Octave 编译标志

Check GNU Octave compile flag

我在不同的操作系统上安装了 GNU Octave,想检查它们的编译标志。特别是在基于 RPM 的系统上,Octave 包是用 enable64=no 编译的,来自 https://copr.fedorainfracloud.org/coprs/g/scitech/octave5.1/

有没有办法检查 octave 的命令行选项是什么?

作为解决方法,我可以声明一个大数组,例如

octave:1> a = zeros (1024*1024*1024*3, 1, 'int8');
error: out of memory or dimension too large for Octave's index type

但我更喜欢一种更明确的方法来检查 Octave 的编译标志。

__octave_config_info__.ENABLE_64

__octave_config_info__.build_environment

您不应该检查编译标志,因为您永远不知道它们何时会更改,或者其他哪些标志可能会影响您真正关心的内容。这就是为什么 __octave_config_info__ 是私有函数,仅供内部使用。

在您的情况下,您真正​​关心的似乎是数组中可以包含的最大元素数。在这种情况下,您应该使用 sizemax(数组大小允许的最大值):

octave> sizemax 
ans = 9223372036854775806