0

我想做的事情对我来说似乎很简单,但目前我觉得 OpenCL 不可能:

我想cl_mem在释放某个对象之前检查它是否真的有效:

cl_mem someimage;
if ( isvalid(someimage) ) clReleaseMemObject(someobject);

原因很简单:如果我clReleaseMemObject在没有初始化的情况下调用someimage,我的程序就会崩溃。我可以try ... catch在电话周围打个电话,但这对我来说似乎有点脏。

clGetImageInfo(someimage)如果未初始化,任何类似的调用也会崩溃。

我该如何实施isvalid(someimage)

非常感谢任何提示,雅各布

4

1 回答 1

0

在 Khronos 论坛(请参阅http://www.khronos.org/message_boards/viewtopic.php?f=28&t=4995)中,我了解到这cl_mem是一种指针类型,因此可以nullptr在释放或查询之前对其进行简单的初始化和检查。当然,堆栈上完全未初始化的指针会产生错误。

感谢通知。

于 2012-05-08T09:53:08.890 回答