检查 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
我在不同的操作系统上安装了 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