检查是否跨函数为临时数组分配了内存

Check if memory is allocated for temporary arrays across functions

该程序有一个调用内联函数 B 的函数 A。

#define EIGEN_RUNTIME_NO_MALLOC 位于程序顶部。

如果我将 Eigen::internal::set_is_malloc_allowed(false); 放在函数 A 中,当我调用 A 时是否会检查 A 和 B 中的内存分配?

谢谢。

set_is_malloc_allowed(false) 是一个设置全局标志的全局函数(更准确地说:全局函数内的静态变量)。因此,它将禁止内存分配(在 Eigen 内部),直到 set_is_malloc_allowed(true) 在任何地方被调用。

您可以使用 is_malloc_allowed().

检查当前是否允许使用内存