История изменений
Исправление
BOSS-NIGGER,
(текущая версия)
:
Я не работал с ctypes, но с точки зрения питоновских объектов у тебя есть деструктор (PyTypeObject::tp_dealloc), где ты и освобождаешь всё что нужно.
наверное так и сделаю, просто было интересно, может уже есть какой-нибудь встроенный delete [] (пускай который даже я должен вызывать) и не надо писать лишнюю функцию которой опять же этот пойнтер надо будет передавать, ибо не сделаю же я его глобальным.
По умолчанию предположу что это дичайшее UB. Кроме семантики атомиков, там и выравнивание может быть другое. Но вообще вопрос интересный, по идее должен быть способ после многопоточной работы с массивом атомиков бесплатно сконвертить его в обычную память.
Зачем там могло бы понадобиться другое выравнивание? Насколько я понимаю вся семантика атомиков сводится к операциям над ними.
по идее должен быть способ после многопоточной работы с массивом атомиков бесплатно сконвертить его в обычную память.
Я думаю это все же reinterpret_cast, но анон сверху пока тоже высказался отрицательно на этот счет, только пока не сказал почему.
Переметнуть в питон как именно? С передачей владения, без?
С передачей. Конечно тогда встает вопрос что делать с самим валэреем т.к. память выделяю я именно ему, но в принципе это экономия на спичках, пусть течет, жалко мне что ли. Хотя по сути и его надо просто передать как-то. Для этого можно передать пойнтер на массив из пойнтеров пойнтеров, в первой ячейке будет валэррей, во второй сам эррей, во нах, просто идеально.
Исходная версия
BOSS-NIGGER,
:
Я не работал с ctypes, но с точки зрения питоновских объектов у тебя есть деструктор (PyTypeObject::tp_dealloc), где ты и освобождаешь всё что нужно.
наверное так и сделаю, просто было интересно, может уже есть какой-нибудь встроенный delete [] (пускай который даже я должен вызывать) и не надо писать лишнюю функцию которой опять же этот пойнтер надо будет передавать, ибо не сделаю же я его глобальным.
По умолчанию предположу что это дичайшее UB. Кроме семантики атомиков, там и выравнивание может быть другое. Но вообще вопрос интересный, по идее должен быть способ после многопоточной работы с массивом атомиков бесплатно сконвертить его в обычную память.
Зачем там могло бы понадобиться другое выравнивание? Насколько я понимаю вся семантика атомиков сводится к операциям над ними.
по идее должен быть способ после многопоточной работы с массивом атомиков бесплатно сконвертить его в обычную память.
Я думаю это все же reinterpret_cast, но анон сверху пока тоже высказался отрицательно на этот счет, только пока не сказал почему.
Переметнуть в питон как именно? С передачей владения, без?
С передачей. Конечно тогда встает вопрос что делать с самим валэреем т.к. память выделяю я именно ему, но в принципе это экономия на спичках, пусть течет, жалко мне что ли.