0

在提前编译的情况下,如何让 Halide 抛出可以在更高调用堆栈中处理的异常?例如,当在不正确的位置访问输入图像时。

4

1 回答 1

2

您可以调用 halide_set_error_handler 来安装您自己的错误处理程序。(或者如果在支持弱链接的平台上直接覆盖 halide_error。)您自己的错误处理程序可以抛出异常。它不是 Halide 中测试最多的部分,但我们确实打算允许错误例程抛出异常,该异常在调用堆栈上的处理比调用 Halide 编译代码的调用更高。所有内存分配等都应通过作用域析构函数释放。

于 2017-01-25T09:23:10.127 回答