Я хочу преобразовать указатель класса D в void*
, передать этот указатель void*
вместе с указателем на мою функцию обратного вызова extern(C)
в подпрограмму библиотеки C.
Подпрограмма библиотеки C будетвызовите мою функцию обратного вызова extern(C)
, которая преобразует void*
обратно в указатель класса и использует объект этого класса.
Проблема: я слышал, что объекты GC могут быть перемещены в другие места (возможно, нетв текущей версии D, но в будущем).Означает ли это, что мой указатель void*
может стать недействительным (больше не указывает на мой объект)?
Если проблема действительно существует, как ее решить?