【发布时间】:2018-12-31 14:56:27
【问题描述】:
我想将 D 类指针转换为 void*,将这个 void* 指针连同指向我的回调函数 extern(C) 的指针一起传递给 C 库例程。
C 库例程将调用我的回调extern(C) 函数,该函数会将void* 转换回类指针并使用该类的对象。
问题:我听说 GC 对象可能会被移动到其他位置(可能不是在当前的 D 版本中,而是在将来)。这是否意味着我的void* 指针可能会失效(不再指向我的对象)?
如果问题真的存在,如何解决?
【问题讨论】:
标签: pointers garbage-collection d void-pointers